컴파일러 오류 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