0

これが機能しない理由:

        enum Color {
            enRed,
            enGreen,
            enYellow
        };

        typedef static std::list<Apple> Basket[3];

        std::for_each(Basket[enRed].begin(),
                      Basket[enRed].end(),
                      std::mem_fn(&Apple::Name())
                      );

私はここでトラブルを調理していますか?

編集:Ops、はい、タイプミスしました。インデックスの色ではなく、enRedにする必要があります

4

2 に答える 2

3

staticインスタンスにのみ適用でき、typedefを宣言するtypeために使用されるため、このステートメントは機能しません。

typedef static std::list<Apple> Basket[3];

を作成してtypedef、後でそのstaticインスタンスを宣言することもできますが。Colorであるため、インデックスとして使用することはできませんtypeが、次のようにするとうまくいきます。

Basket[enRed]
于 2013-05-12T02:29:31.800 に答える
1

あなたのコードColorでは

列挙型に与えられた型名

索引付けには使用できません。

于 2013-05-12T02:36:09.217 に答える