【发布时间】:2016-02-05 00:56:18
【问题描述】:
所以,我想从 .txt 文件中读取值,值是在同一行上的非常简单的四个浮点值。 我是这样写的:
int read_calibration () {
std::ifstream input("floor.txt");
if (!input.good())
{
cout << "floor info file does not exist!" << endl;
return -1;
}
std::vector<float> data(std::istream_iterator<float>(input),
std::istream_iterator<float>());
for (std::vector<float>::iterator it = data.begin() ; it != data.end(); ++it)
std::cout << ' ' << *it;
return 0;
}
当我构建它时,我得到了这个错误:
error: request for member ‘begin’ in ‘data’, which is of non-class type ‘std::vector<float>(std::istream_iterator<float>, std::istream_iterator<float> (*)())’
for (std::vector<float>::iterator it = data.begin() ; it != data.end(); ++it)
我在 Ubuntu 14.04 上使用 gcc 版本 4.8.4 运行
【问题讨论】:
-
@vsoftco:这不是最烦恼的;这只是普通的烦恼。
-
@KerrekSB 有区别吗? ;) 我认为它总是被称为“最令人烦恼的”。
-
对我来说 "normal" 是没有参数的,而 most 是有参数的。
-
@KerrekSB 我认为这就是创造术语“最令人烦恼的解析”的确切情况
标签: c++ vector most-vexing-parse