Condividi tramite


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>();
}