发现问题
本来只是想写这样一个测试是否连接成功的判断:
std::cout << "Result ==> "
<< Avaliable() ? "hey, you got it" : "hell, suck it"
<< std::endl;
但C++编译器给我报错,说hell, suck it
作为一个const char[14]
类型的字符串常量,需要【必须具有整数或未区分范围的枚举类型】。
解决方案
实际上,在C++运算符优先级这篇文章中, 给出了说明:<<
优先级比?:
优先级高。于是在解析的时候优先解析了<<
,结果就把问号表达式的判断打乱了。
加上括号提升优先级就好了。