如何修复C++中的‘expected unqualified-id’错误?
代码报错原因及解决方法
你的代码报错核心原因是:or是C的保留关键字,它是逻辑或运算符||的等价写法,C不允许用关键字作为变量(包括引用变量)的名称,因此编译器会抛出语法错误。
修改方案
把引用变量名or替换成任意合法的标识符(比如or_ref、one_ref等)即可解决问题。
修改后的完整代码
#include <iostream> using namespace std; class One { public: virtual void disp() { cout << " Class One"; } }; class Two : public One { public: void disp() { cout << "Class Two"; } }; int main(void) { One *op = new Two; op->disp(); One & or_ref = *op; // 替换为合法变量名 or_ref.disp(); // 调用成员函数 return 0; }
运行这段代码会输出:
Class TwoClass Two
内容的提问来源于stack exchange,提问作者Saksham Khodre
相关产品推荐
相关产品推荐

