Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 3) C4686

"uživatelem definovaný typ': možné změny v chování, změna UDT vrátit konvence volání

Specializace třídu šablony nebyl je definována dříve, než byla použita v typ vrácené hodnoty.Vyřeší vše, co vytvoří instanci třídy C4686; deklarace instance nebo přístup k členu (C<int>:: NIC) jsou také možnosti.

Toto upozornění je výsledkem práce provádět v souladu s ISO C++ kompilátor Visual C++ .NET 2003 standard.

Toto upozornění je vypnuto ve výchozím nastavení.Viz Kompilátoru upozornění, že jsou vypnuta ve výchozím nastavení pro další informace.

Místo toho proveďte následující kroky

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