Megosztás a következőn keresztül:


Fordító figyelmeztetése (1. szint) C4544

'deklaráció': A sablon deklarációjánál figyelmen kívül hagyták az alapértelmezett sablonargumentumot

Megjegyzések

Egy alapértelmezett sablonargumentum helytelen helyen lett megadva, és figyelmen kívül lett hagyva. Egy osztálysablon alapértelmezett sablonargumentumát csak az osztálysablon deklarációjában vagy definíciójában lehet megadni, az osztálysablon egyik tagján nem.

Example

Ez a példa c4544-et hoz létre, a következő példa pedig a javítás módját mutatja be:

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

Ebben a példában az alapértelmezett paraméter az osztálysablonra Svonatkozik:

// 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 {};