私はC++を使いこなすことを学んでおり、クラスと埋め込み列挙型のスコープの仕組みを理解しようとしています。オブジェクトから構造体の列挙型にアクセスする
現在、私は次のようになりますクラスを持っている:
class Foo {
public:
Foo();
enum Option = {
FIRST,
SECOND,
THIRD
};
struct Example = {
const char* name;
Option key;
enum keyOption = {
PROPERTY,
FLAG
} keyValue;
};
};
はその後、私の主な機能には、私はそれを初期化し、その後、上記のコードでExample
構造体
int main()
{
Foo *test;
Foo::Example content = {
"Hello World",
test->FIRST,
test->Example::PROPERTY
};
}
にいくつかの値を追加します
error: 'Foo::keyOption' is not a base of 'Foo'
私はそれを修正することで修正できることを知っていますtest->Example::PROPERTY
Foo::Example::PROPERTY
にしかし、私が代わりに
Foo::
のオブジェクトを介して
Example
構造体の値にアクセスすることができる方法はありますか?同様に
FIRST
の値にアクセスする方法と同じですか?
私は違いの概念の命名を屠殺している場合、私は何かを構築することによって自分自身を教えようとしています、そして、私はすぐに詳細をもっと読む必要があります。
ご協力いただきありがとうございます。本当に感謝しています!
'Foo :: Example :: PROPERTY'と' Foo: :FIRST'は正しい方法です。それのどこが悪いんだい?なぜあなたは何か他のものを探していますか? –
わかりました。私はちょうどそれを数回見たことがあります。だから私は別のやり方でやっていなければならないという印象を受けました。迅速なコメントをいただきありがとうございます。私は今それを変更します。 –