【问题标题】:C2248: Cannot access private member declared in classC2248:无法访问在类中声明的私有成员
【发布时间】:2012-11-15 16:24:03
【问题描述】:

我们正在尝试使用 VS2005 编译应用程序,我们收到以下错误消息:

错误 C2248: 'palo::bytecode_generator::WM_OPCODES' : 无法访问在类 'palo::bytecode_generator' c:\users\administrator\desktop\htbase\development\palo_server_988\server_export\source\library\ 中声明的私有枚举虚拟机\VirtualMachine.h 199

这是一段代码:

struct machine_state {
    EPath path;
    ERule* rule;
    Value defValue;
    Status defStatus;
    uint8_t is_base;
    Bytecode * pc;
    Value* sp_dbl;
    string* sp_str;
    bytecode_generator::WM_OPCODES return_pos;
};

关于如何解决这个问题的任何想法?

谢谢

【问题讨论】:

    标签: c++ class private member


    【解决方案1】:

    好吧,显然WM_OPCODE 枚举类型是在bytecode_generator 的私有部分中定义的。将其移至公共部分或课外。

    【讨论】:

    • 如果WM_OPCODESprivate,它可能不应该被使用。
    • ...或者它不应该是私有的。由 OP 决定
    猜你喜欢
    • 2014-01-10
    • 2016-12-02
    • 1970-01-01
    • 2013-07-28
    • 2011-09-06
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多