Avviso del compilatore (livello 3) C4686
'tipo definito dall'utente': possibile modifica del comportamento, modifica della convenzione di chiamata restituita dal tipo definito dall'utente
Osservazioni:
Una specializzazione del modello di classe non è stata definita prima che fosse usata in un tipo restituito. Tutto ciò che crea un'istanza della classe risolve C4686; anche la dichiarazione di un'istanza o l'accesso a un membro (ad esempio, C<int>::some_member
) sono opzioni.
Per impostazione predefinita, questo avviso non è attivo. Per altre informazioni, vedere Avvisi del compilatore disattivati per impostazione predefinita.
Esempio
Provare invece a eseguire le operazioni seguenti:
// 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>();
}