gpt4 book ai didi

c++ - 是否有可能让 getline() 函数接受 wistream&

转载 作者:太空宇宙 更新时间:2023-11-04 15:28:46 25 4
gpt4 key购买 nike

为了澄清起见,我指的是字符串类中的全局 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?

最佳答案

它确实接受一个 wistream,但是 getline() 需要一个非常量参数,因为它修改了流。尝试将其更改为:

...
void someFunc(wistream& read)
...

关于c++ - 是否有可能让 getline() 函数接受 wistream&,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com