Avviso del compilatore (livello 1) C4836
utilizzata estensione non standard: 'tipo': impossibile utilizzare tipi locali o tipi non denominati come argomenti di template
L'utilizzo di tipi locali come argomenti di modello non è conforme agli standard C++, ma viene comunque consentito dal compilatore Visual C++ in /Ze. L'avviso C4836 è un messaggio informativo e viene visualizzato per indicare che si sta scrivendo codice non conforme agli standard. Per ulteriori informazioni, vedere /Za, /Ze (Disabilita estensioni linguaggio).
L'avviso C4836 è disattivato per impostazione predefinita. Per ulteriori informazioni, vedere Compiler Warnings That Are Off by Default.
Esempio
Nell'esempio seguente viene generato l'errore C4836:
// 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();
}