You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:05:19