读书人

cout lt;lt;中的lt;lt;异常

发布时间: 2012-04-26 14:01:31 作者: rapoo

cout <<中的<<错误

C/C++ code
#include <iostream>using namespace std;bool isright(){    return true;}void main(){    cout << isright()?"good":"bad"<<"results"<<endl;}

提示错误
error C2296: '<<' : illegal, left operand has type 'char [4]'
error C2297: '<<' : illegal, right operand has type 'char [8]'
解释一下,不胜感激!!!

[解决办法]
cout << isright()?"good":"bad"<<"results"<<endl;
输出操作符<<的优先级高条件操作符的优先级,会先计算cout << isright(),然后返回一个cout,再计算后面的cout?"good",这就发生了编译错误,修改为:

cout << (isright()?"good":"bad")<<"results"<<endl;

读书人网 >C++

热点推荐