다음을 통해 공유


컴파일러 경고(수준 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>();
}