Teilen über


Compilerwarnung (Ebene 1) C4544

'declaration': Standardvorlagenargument wird für diese Vorlagendeklaration ignoriert

Bemerkungen

Ein Standardvorlagenargument wurde an einer falschen Position angegeben und wurde ignoriert. Ein Standardvorlagenargument für eine Klassenvorlage kann nur in der Deklaration oder Definition der Klassenvorlage und nicht auf einem Member der Klassenvorlage angegeben werden.

Example

In diesem Beispiel wird C4544 generiert, und das nächste Beispiel zeigt, wie Sie es beheben können:

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

In diesem Beispiel gilt der Standardparameter für die Klassenvorlage 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 {};