2017-11-02 23 views
0

私は数週間前にC++を学び始めました。私は今クラスとすべてのものを見ています。オブジェクトのインスタンス化について疑問を抱いていました。このコードでは:私はPlayer player {}にカッコを置かない場合はClion Unintializedレコードタイプ:player

class Player 
{ 
    public: 
     int x, y; 
     int speed; 
}; 

int main() 
{ 
    Player player {}; 

    return 0; 
} 

私はIDEから警告を受けます。私はClion 2017.2.3を使用します。警告は、「Unintialized record type:player」と表示され、Clang-Tidyから来ているようですが、実際に何が行われているのか分かりません。

これは重要ですか?オブジェクトのインスタンス化に中カッコを入れなければならないのですか?

すみません、私の間違いですが、英語は母国語ではありません。

答えて

0

初期化リストを指定しないと、オブジェクトは初期化されません(デフォルトコンストラクタがないため)。メンバーは不確定な値を持ちます。初期化リストを使用すると、すべてのメンバーがデフォルトの初期化を取得します。

この警告は、メンバ変数が初期化されていない可能性があることを警告します。

clang-tidyからのこのチェックの詳細については、hereを参照してください。