Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
"class" : type-class-id redefined jako formalny argument funkcji
Uwagi
Nie można użyć klasy ogólnej ani szablonu jako argumentu formalnego. Nie można przekazać argumentu bezpośrednio do konstruktora klasy ogólnej lub szablonu.
Ten błąd jest przestarzały w programie Visual Studio 2022 i nowszych wersjach.
Przykłady
Poniższy przykład generuje kod C2942:
// C2942.cpp
// compile with: /c
template<class T>
struct TC {};
void f(int TC<int>) {} // C2942
// OK
struct TC2 {};
void f(TC2 i) {}
C2942 może również wystąpić w przypadku używania typów ogólnych:
// C2942b.cpp
// compile with: /clr /c
generic<class T>
ref struct GC {};
void f(int GC<int>) {} // C2942
ref struct GC2 { };
void f(int GC2) {}