編譯器警告 (層級 1) C4836
更新:2007 年 11 月
錯誤訊息
使用非標準擴充: 'type' : 區域型別或未命名型別不可做為 template 引數
C++ 標準不允許使用區域型別做為樣板引數,但 Visual C++ 編譯器確實允許在 /Ze 下這樣做。C4836 屬於資訊警告,讓您知道您正在寫入非一致的程式碼。如需詳細資訊,請參閱 /Za、/Ze (停用語言擴充功能)。
C4836 預設為關閉。如需詳細資訊,請參閱Compiler Warnings That Are Off by Default。
範例
下列範例會產生 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();
}