0

私は新しい会社で働き始めており、古いプロジェクトで C++ を使用する必要があります。だから、私はいくつかのC++自体のコード構造を忘れていました。関数では、関数内に二重コロン :: がありますが、ここでそれを理解する方法がわかりません。

たとえば、ENTITY 名前空間の SRP クラスを「リンク」した ENTITY::SRP があるかどうかはわかっていますが、現在のクラスが見つかりませんでした。

次に例を示します。

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型である可能性があります。CURRENTSRP

列挙子を使用する場合は、完全修飾列挙子名 ( で始まるものENTITY::) を使用する必要がないことに注意してください。その場合、Microsoft コンパイラは警告を発行します。ENTITY名前空間ではなく、新しい型の名前です。

于 2012-05-07T08:20:51.257 に答える