Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
"class": parametr typu "param" jest niezgodny z deklaracją
Uwagi
Kompilator znalazł nietypowy szablon lub parametry ogólne o różnych nazwach. Taka sytuacja może wystąpić, gdy określony parametr szablonu w definicji specjalizacji szablonu jest niezgodny z jego deklaracją.
Przykłady
Poniższy przykład generuje kod C3855:
// C3855.cpp
template <int N>
struct C {
void f();
};
template <char N>
void C<N>::f() {} // C3855
Możliwe rozwiązanie:
// C3855b.cpp
// compile with: /c
template <int N>
struct C {
void f();
};
template <int N>
void C<N>::f() {}
C3855 może również wystąpić w przypadku używania typów ogólnych:
// C3855c.cpp
// compile with: /clr
generic <class T>
ref struct GC1 {
generic <class U>
ref struct GC2;
};
generic <class T>
generic <class U>
generic <class V>
ref struct GC1<T>::GC2 { }; // C3855
Możliwe rozwiązanie:
// C3855d.cpp
// compile with: /clr /c
generic <class T>
ref struct GC1 {
generic <class U>
ref struct GC2;
};
generic <class T>
generic <class U>
ref struct GC1<T>::GC2 { };