Compilerfehler C2899
Der Typname kann nicht außerhalb einer Vorlagendeklaration verwendet werden
Das typename-Schlüsselwort kann nur in einer Vorlagendefinition oder -deklaration verwendet werden.In einer Vorlagendeklaration kann es auf zwei Arten verwendet werden:
// C2899.cpp
// compile with: /c
template<typename T>
class X {};
// Another way
template<class T>
struct XX {
typename T::A a; // T::A is a type
};
Im folgenden Beispiel wird C2899 generiert:
// C2899b.cpp
// compile with: /c
struct Y {
typedef int B;
typename Y::B b; // C2899
};