Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
"típus": a nem specializált osztálysablon vagy általános nem használható sablon- vagy általános típusú argumentumként a 'param' nevű sablon- vagy általános paraméterhez, valós típust várt
Megjegyzések
Érvénytelen argumentumot adott át egy osztálysablonnak vagy általánosnak. Az osztálysablon vagy általános típust vár paraméterként.
Ez a hiba a Visual Studio 2005-höz készült fordítómegfelelőségi munka eredményeként hozható létre: a nem megadott osztálysablonok nem használhatók sablonargumentumként az alaposztálylistában. A C3203 feloldásához explicit módon adja hozzá a sablontípus-paraméter(ek)et a sablonosztály nevéhez, amikor sablonparaméterként használja egy alaposztálylistában.
Példák
Az alábbi példa c3203-at hoz létre:
// C3203.cpp
template< typename T >
struct X {
void f(X) {}
};
template< typename T >
struct Y : public X<Y> { // C3203
// try the following line instead
// struct Y : public X<Y<T> > {
void f(Y) {}
};
int main() {
Y<int> y;
}
Az alábbi példa létrehozza a C3203-at, és bemutatja a javítás módját:
// C3203_b.cpp
// compile with: /c
template <class T>
struct S1 {};
template <class T>
class C1 {};
typedef C1<S1> MyC1; // C3203
// OK
template <template <class> class T>
class C2 {};
typedef C2<S1> MyC1;
template <class T>
class C3 {};
typedef C3<S1<int> > MyC12;
A C3203 általános használat esetén is előfordulhat:
// C3203_c.cpp
// compile with: /clr /c
generic <class T>
value struct GS1 {};
generic <class T>
value struct GC1 {};
typedef GC1<GS1> MyGC1; // C3203
typedef GC1<GS1<int> > MyGC2; // OK