所以我试图在这个switch语句中使用“operator”关键字,但是当我这样做时,我得到错误“错误:在â€:令牌操作符之前的预期类型说明符:” 我没有收到digit关键字的任何错误。有什么想法吗?
for (i=0; i < pf.length(); i++)
{
int opn1;
int opn2;
int result;
char token = pf[i];
switch (token)
{
digit:
{
chast.push(token); break;
}
operator:
{
opn2 = chast.top();
chast.pop();
opn1 = chast.top();
chast.pop();
result = evaluate(opn1, token, opn2);
chast.push(result);
break;
}
}
}
答案 0 :(得分:2)
显示的代码在语法上无效:
它缺少case
标签的switch
关键字。
它使用关键字operator
作为名称。
RE
“我没有收到数字关键字的任何错误。
...那不是关键字。
Google C ++关键字。让自己a decent C++ textbook了解语言的基本结构。
答案 1 :(得分:0)
在C ++中,operator是一个仅用于运算符重载的关键字。不幸的是,这使得在任何其他情况下使用都是非法的。
代码中定义的“数字”在哪里?