Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
'type' : šablonu třídy nebo obecné typy nelze použít jako šablonu nebo obecný argument pro šablonu nebo obecný argument pro šablonu nebo obecný parametr "param", byl očekáván skutečný typ.
Poznámky
Neplatný argument jste předali šabloně třídy nebo obecnému typu. Šablona třídy nebo obecný očekává typ jako parametr.
Tuto chybu je možné vygenerovat v důsledku práce kompilátoru, která byla provedena pro Visual Studio 2005: Šablonu nespecializované třídy nelze použít jako argument šablony v seznamu základních tříd. Pokud chcete vyřešit C3203, explicitně přidejte parametry typu šablony do názvu třídy šablony při použití jako parametr šablony v seznamu základních tříd.
Examples
Následující příklad vygeneruje C3203:
// 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;
}
Následující příklad vygeneruje C3203 a ukazuje, jak ho opravit:
// 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;
K C3203 může také dojít při použití obecných typů:
// 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