컴파일러 오류 C2076
중괄호로 묶인 이니셜라이저 목록은 'auto/decltype(auto)'이 포함된 새 식에서 사용할 수 없습니다.
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
초기화 값을 묶습니다.