【发布时间】:2021-06-13 14:11:29
【问题描述】:
this question也提到了这个问题。
我正在使用std::getline逐行读取文件。
std::getline(points_file, thisline);
std::istringstream iss(thisline);
int cnt = 0;
Coordinates.resize(NumberOfNodes, std::vector<float>(3));
for(std::istream_iterator<float> iit( iss );
iit!=std::istream_iterator<float>( );
iit++ )
{
assert( cnt < 3 );
*(iit) >> Coordinates[i][cnt];
cnt++;
}
错误信息: error: invalid operands to binary expression ('const float' and 'std::__1::__vector_base<float, std::__1::allocator<float> >::value_type' (aka 'float')) *(iit) >> Coordinates[i][cnt];
如果我尝试读取整数,这将完美无缺。我正在使用CLANG。 GCC 似乎不会出现此问题,但是,我无权访问此 atm 进行实际测试。另外,为什么CLANG 会失败,如何解决?
【问题讨论】:
-
对于整数它可以工作,因为它是按位移位操作。
float无法移动。Coordinates[i][cnt] = *iit;