while (getline(stream, thisword, ' ') != 0) {...
我可以在MSVC 2012下编译此行。通过传递'SPC'char作为字符串定界符,应该进行测试以查看输入流中是否还有任何字符串要处理。它大致检查指针是否为NULL。
但是,它在MSVC 2015中不起作用,并且不会编译。现在是编译错误,不是警告。
如何更新片段,以便检查是否已到达输入流的末尾?
最佳答案
getline
返回对其进行调用的basic_istream
对象的引用。在过去,basic_istream
拥有一个返回void*
的转换运算符,您可以将其与0
进行比较。现在它有一个explicit operator bool()
,因此您应该删除!= 0
(最初并不需要)。