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