请问谁知道if(cin.get(c)=='\n')为什么在vs下编译出错?
出错提示是:
error C2679: 二进制“==”: 没有找到接受“char”类型的右操作数的运算符(或没有可接受的转换)
谢谢
[解决办法]
if(cin.get(c)=='\n')
-------------------------
看错了,get(c)返回的是basic_istream类型。你可以这样改
char c;
cin.get(&c);
if(c == '\n')
... ...
或
if((c = (char)cin.get())=='\n')
... ...
[解决办法]
晕死,cin.get(c)返回一个临时cin的对象,要和'\n'比较当然会出错了。