内部列挙型を参照してください:私はヘッダファイルに次のように定義された構造体を持つ構造体
struct MessageA {
enum Status {
eReady, eNotReady
};
};
その後、私はこの列挙を使用しようとすると:
#include <MessageA.hh>
...
if(status != MessageA.Status.eReady) continue;
を私はエラーを取得します:
expected primary-expression before '.' token
'Status' has not been declared
私は次のことを試してみました、それが働いた:
if(status != MessageA::eReady) continue;
しかし、使用している場合:
if(status != MessageA::Status::eReady) continue;
は、その後、私はエラーを取得する:私は、複数の列挙があったかのように、完全に(適格な列挙型の名前を指定する必要がある場合
Status is not a class or a namespace
内部で同じ値で)私はどのようにそれを行う必要がありますか?
';' –