다음을 통해 공유


컴파일러 오류 C3533

'type': 매개 변수에 'auto'가 포함된 형식이 있을 수 없습니다.

기본 /Zc:auto 컴파일러 옵션이 적용되는 경우 키워드(keyword) 메서드 또는 템플릿 매개 변수를 선언 auto 할 수 없습니다.

이 오류를 해결하려면

  1. auto 매개 변수 선언에서 키워드(keyword) 제거합니다.

예제

다음 예제에서는 키워드(keyword) 사용하여 함수 매개 변수 auto 를 선언하고 /Zc:auto로 컴파일되므로 C3533을 생성합니다.

// C3533a.cpp
// Compile with /Zc:auto
void f(auto j) {} // C3533

다음 예제에서는 키워드(keyword) 사용하여 템플릿 매개 변수 auto 를 선언하고 /Zc:auto컴파일되므로 C++14 모드에서 C3533을 생성합니다. C++17에서는 형식이 추론된 단일 비 형식 템플릿 매개 변수가 있는 클래스 템플릿의 유효한 정의입니다.

// C3533b.cpp
// Compile with /Zc:auto
template<auto T> class C {}; // C3533

참고 항목

auto 키워드
/Zc:auto(변수 형식 추론)