只是为了澄清,我指的是字符串类中的全局 getline() 函数。
我想做的是有这样的东西:
int main()
{
wifstream in(L"textfile.txt");
someFunc(in);
return 0;
}
void someFunc(const wistream& read)
{
wstring buff;
while(getline(read, buff))
{
//do some processing here
}
}
但我得到一个:
Error 2 error C2664: 'std::getline' : cannot convert parameter 1 from 'const std::wistream' to 'std::basic_istream<_Elem,_Traits> &'
为了修复它,我需要从 const wistream& read 中删除 const。我理解为什么会发生这种情况,但是是否可以将 getline() 配置为接受 wistream 而无需任何转换,或者我应该忽略它并删除 const?