컴파일러 경고(수준 3) C4686
'사용자 정의 형식': 동작 변경 가능, UDT 반환 호출 규칙 변경
설명
클래스 템플릿 특수화는 반환 형식에서 사용되기 전에 정의되지 않았습니다. 클래스를 인스턴스화하는 모든 항목은 C4686을 확인합니다. 인스턴스를 선언하거나 멤버에 액세스(예: C<int>::some_member
)도 옵션입니다.
기본적으로 이 경고는 해제되어 있습니다. 자세한 내용은 기본적으로 꺼져 있는 컴파일러 경고를 참조하세요.
예시
대신 다음을 시도합니다.
// C4686.cpp
// compile with: /W3
#pragma warning (default : 4686)
template <class T>
class C;
template <class T>
C<T> f(T);
template <class T>
class C {};
int main() {
f(1); // C4686
}
template <class T>
C<T> f(T) {
return C<int>();
}