0

我开始在一家新公司工作,我必须在一个旧项目上使用 C++ 工作。所以,我忘记了一些 C++ 本身的代码结构。在一个函数中,我在一个函数中有一个双冒号 :: ,我不知道如何在这里理解它。

例如,我知道如果我有 ENTITY::SRP,它会“链接”实体命名空间中的 SRP 类,但是在这里我找不到 CURRENT 类。

这是示例:

void FlushBuffer (ENTITY entity=ENTITY::CURRENT,int msg_type=IN_MSG::T_CONT);

那么,CURRENT 是 C++ 中的一个特定词吗?

提前致谢。

class ENTITY
{
    protected:
    char entity[16];

    public:
    #ifdef _BIG_ENDIAN    
    enum IMM {
        ALL=0,
        SSP=0x53535000,
        SRP=0x53525000,
        AUX1=0x41555831,
        AUX2=0x41555832,
        ANY=0x414E5900,
        CURRENT=-1};

我找到了这个,所以如果我想访问我的枚举,我只需要做 ENTITY::AUX2 例如?和 enum nam IMM 不需要?

4

1 回答 1

2

ENTITY可能是一种enum类型,其成员(枚举数)为CURRENTand 。SRP

请注意,在使用枚举数时,您不需要使用完全限定的枚举数名称(以 开头的名称ENTITY::)。在这种情况下, Microsoft 编译器会发出警告ENTITY不是命名空间,它是新类型的名称。

于 2012-05-07T08:20:51.257 回答