Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktualisiert: November 2007
Fehlermeldung
Nicht dem Standard entsprechende Erweiterung: 'Typ': Lokale oder unbenannte Typen können nicht als Vorlagenargumente verwendet werden
nonstandard extension used : 'type' : local types or unnamed types cannot be used as template arguments
Im C++-Standard ist die Verwendung lokaler Typen als Vorlagenargumente nicht zulässig, der Visual C++-Compiler lässt dies jedoch unter /Ze zu. C4836 ist eine Warnmeldung zu Informationszwecken, um Sie darauf aufmerksam zu machen, dass Sie nicht-konformen Code schreiben. Weitere Informationen finden Sie unter /Za, /Ze (Spracherweiterungen deaktivieren).
C4836 ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Compiler Warnings That Are Off by Default.
Beispiel
Im folgenden Beispiel wird C4836 generiert.
// C4836.cpp
// compile with: /W1
#pragma warning(default:4836)
template <class T>
struct TA {};
struct R {
public:
void f() {
struct S {};
TA<S> ta; // C4836
}
};
int main() {
R r;
r.f();
}