Dela via


Kompilatorvarning (nivå 1) C4544

"deklaration": Standardmallargumentet ignoreras i den här malldeklarationen

Anmärkningar

Ett standardmallargument angavs på en felaktig plats och ignorerades. Ett standardmallargument för en klassmall kan bara anges i deklarationen eller definitionen av klassmallen och inte på en medlem i klassmallen.

Example

Det här exemplet genererar C4545 och i nästa exempel visas hur du åtgärdar det:

// 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

I det här exemplet gäller standardparametern för klassmallen 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 {};