1

私の友人が C++ の学習に取り組んでおり、私は彼を手伝っていました。どちらも Visual studio 2010 を使用しています。

次のコードはエラーになります。

#include <iostream>
using namespace std;

namespace Characters
{
    class PlayerStats
        {
        public:
            int HPMax, HPCurrent;
        };
    PlayerStats John;
    John.HPMax = 1;
    Characters::John.HPMax = 1;
}

「PlayerStats John;」という行 問題なく解決するようですが、(「John.HPMax = 1;」および「Characters::John.HPMax = 1;」) の後の行では、「エラー: この宣言にはストレージ クラスまたは型指定子がありません」というエラーが表示されます。この方法で名前空間内にメンバー変数を設定することは違法ですか、それとも他に何か不足していますか?

4

4 に答える 4

3

名前空間内では宣言のみが許可されます。

これらは

 John.HPMax = 1;
 Characters::John.HPMax = 1;

宣言ではありません。

于 2013-08-25T16:48:15.553 に答える