fud*_*din 2 c c++ conditional-operator
我试图通过使用条件运算符来返回值true或false,具体取决于条件,但是我收到了错误.这是我的代码,
bool isEmpty()
{
int listSize = Node::size();
listSize > 0 ? return (true) : return (false);
return false;
}
Run Code Online (Sandbox Code Playgroud)
这是错误,
error C2107: illegal index, indirection not allowed
Run Code Online (Sandbox Code Playgroud)
现在我被困在这里.我不明白这一点.我认为它应该是正确的.请指导我.谢谢
Ker*_* SB 13
您只能将表达式*作为三元条件语句的操作数,而不是语句.通常的说法是:
return listSize > 0 ? true : false;
Run Code Online (Sandbox Code Playgroud)
甚至更好,
return listSize > 0;
Run Code Online (Sandbox Code Playgroud)
甚至更好,
bool isEmpty() { return Node::size() > 0; }
Run Code Online (Sandbox Code Playgroud)
*)由于您将此标记为C和C++,因此请注意两种语言中允许的表达式之间存在细微差别.