コンパイラ エラー C2076
中かっこで囲まれた初期化子リストは、型に 'auto/decltype(auto)' が含まれる new 式では使用できません
auto
型指定子が、新しい型識別子の指定子シーケンスまたはnew
式の型識別子に含まれている場合、式にはフォーム ( assignment-expression )
の初期化子が含まれている必要があります。 コンパイラは、初期化子の assignment-expression
から型識別子を取得します。 たとえば、 にします。
new auto(42); // new allocates int
auto c = new auto('a'); // c is of type char*, new allocates char
new (auto*)(static_cast<short*>(nullptr)); // allocates type short*
この問題を解決するには、かっこを使用して、 new
式の初期化値を囲みます。