Share via


Upozornění kompilátoru (úroveň 1) C4544

'deklarace': Výchozí argument šablony byl u této deklarace šablony ignorován.

Výchozí argument šablony byl zadán v nesprávném umístění a byl ignorován. Výchozí argument šablony šablony třídy lze zadat pouze v deklaraci nebo definici šablony třídy, a ne pro člena šablony třídy.

Tato ukázka vygeneruje C4545 a další ukázka ukazuje, jak ji opravit:

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

V tomto příkladu se výchozí parametr vztahuje na šablonu Střídy:

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