次の方法で共有


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

'declaration': このテンプレート宣言の既定のテンプレート引数が無視されました

既定のテンプレート引数は誤った場所で指定されたため、無視されました。 クラス テンプレートの既定のテンプレート引数を指定できるのは、クラス テンプレートのメンバーではなく、クラス テンプレートの宣言または定義でのみです。

次の例では、C4545 を生成し、その修正方法を示しています。

// C4544.cpp
// compile with: /W1 /LD
template <class T>
struct S
{
   template <class T1>
      struct S1;
   void f();
};

template <class T=int>
template <class T1>
struct S<T>::S1 {};   // C4544

次の例では、既定のパラメーターがクラス テンプレート S に適用されます。

// C4544b.cpp
// compile with: /LD
template <class T = int>
struct S
{
   template <class T1>
      struct S1;
   void f();
};

template <class T>
template <class T1>
struct S<T>::S1 {};