0

以下のコードに示すように、3 つのリストと 1 つの整数を含む構造体があります。

struct MainScreenState 
{
    std::list<char*> sessionId;
    std::list<char*> opposingUser;
    std::list<char*> currentMove;
    int totalScore;
    MainScreenState() {
        totalScore = 0;
    }
};
struct MainScreenState *state;

コンストラクターを使用して int を初期化することは可能ですが、コンパイラの警告「警告 C4700: 初期化されていないローカル変数 '状態'」を回避するために、リスト オブジェクトを初期化する方法を教えてください。

4

1 に答える 1

2

std::listメンバーは自動的に初期化されます。問題は、初期化されていない変数stateにあります。

MainScreenState *state = NULL; //struct keyword not necessary in C++

または(リクエストごと)

MainScreenState *state = new MainScreenState;

または、自動ストレージ変数またはスマート ポインターを使用することをお勧めします。

于 2012-06-13T14:14:42.127 に答える