所以,我想讀取.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運行
https://en.wikipedia.org/wiki/Most_vexing_parse – vsoftco
@vsoftco:這不是最*煩人的;這只是一種常見的煩惱。 –
@KerrekSB有區別嗎? ;)我認爲它總是被稱爲「最令人頭疼」。 – vsoftco