次の方法で共有


コンパイラの警告 (レベル 1) C4836

非標準の拡張機能が使用されています : '型' : ローカル型または名前のない型を 'テンプレート' 引数として使用することはできません

C++ 標準ではローカル型をテンプレートの引数として使用できません。ただし Visual C++ コンパイラでは、/Ze を指定した場合に、これが可能です。C4836 は情報を提供するための警告で、非準拠コードを作成していることを知らせます。詳細については、「/Za、/Ze (言語拡張機能の無効化)」を参照してください。

既定では、C4836 はオフに設定されています。詳細については、「既定で無効になっているコンパイラの警告」を参照してください。

使用例

次の例では 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();
}