首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教哪位高手知道if(cin.get(c)=='\n')为什么在vs下编译出错

2012-02-15 
请问谁知道if(cin.get(c)\n)为什么在vs下编译出错?出错提示是:error C2679: 二进制“”: 没有找到接受

请问谁知道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'比较当然会出错了。

热点排行