컴파일러 오류 C3533
'type': 매개 변수에 'auto'가 포함된 형식이 있을 수 없습니다.
기본 /Zc:auto 컴파일러 옵션이 적용되는 경우 키워드를 auto
사용하여 메서드 또는 템플릿 매개 변수를 선언할 수 없습니다.
이 오류를 해결하려면
auto
매개 변수 선언에서 키워드를 제거합니다.
예제
다음 예제에서는 키워드를 사용하여 함수 매개 변수 auto
를 선언하고 /Zc:auto로 컴파일되므로 C3533을 생성합니다.
// C3533a.cpp
// Compile with /Zc:auto
void f(auto j) {} // C3533
다음 예제에서는 C++14 모드에서 C3533이 키워드를 사용하여 auto
템플릿 매개 변수를 선언하고 /Zc:auto로 컴파일되기 때문에 C3533을 생성합니다. C++17에서는 형식이 추론된 단일 비 형식 템플릿 매개 변수가 있는 클래스 템플릿의 유효한 정의입니다.
// C3533b.cpp
// Compile with /Zc:auto
template<auto T> class C {}; // C3533