다음을 통해 공유


컴파일러 오류 C2080

'identifier': 'type'에 대한 형식은 하나의 이니셜라이저 식에서만 추론할 수 있습니다.

설명

컴파일러는 선언이 직접 목록 초기화를 사용하고 initializer-list에 단일 요소가 있는 경우에만 형식 auto decltype(auto) 을 추론할 수 있습니다.

예시

다음 샘플에서는 C2080을 유발하는 몇 가지 선언을 보여 줍니다.

auto x1(1, 2);           // C2080
auto x2({4});            // C2080
decltype(auto) x3(1, 2); // C2080
decltype(auto) x4({4});  // C2080

이 문제를 해결하려면 단일 값 이니셜라이저를 사용합니다.

auto x1 = 1;             // Valid
auto x2(1);              // Valid
decltype(auto) x3 = 1;   // Valid
decltype(auto) x4(1);    // Valid