Aviso do compilador (nível 3) C4686
'user-defined type': possível alteração no comportamento, alteração na convenção de chamada de retorno UDT
Comentários
Uma especialização de modelo de classe não foi definida antes de ser usada em um tipo de retorno. Qualquer coisa que instancie a classe resolve C4686; declarar uma instância ou acessar um membro (por exemplo, C<int>::some_member
) também são opções.
Esse aviso está desativado por padrão. Para obter mais informações, confira Avisos do compilador desativados por padrão.
Exemplo
Em vez disso, experimente o seguinte:
// 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>();
}
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários