Udostępnij za pomocą


Ostrzeżenie kompilatora (poziom 2) C4396

"name" : specyfikator wbudowany nie może być używany, gdy deklaracja znajomego odwołuje się do specjalizacji szablonu funkcji

Uwagi

Specjalizacja szablonu funkcji nie może określać żadnego z wbudowanych specyfikatorów. Kompilator zgłasza ostrzeżenie C4396 i ignoruje specyfikator wbudowany.

Aby poprawić ten błąd

  • inlineUsuń specyfikator , __inlinelub __forceinline z deklaracji funkcji friend.

Przykład

Poniższy przykład kodu przedstawia nieprawidłową deklarację funkcji friend z specyfikatorem inline .

// C4396.cpp
// compile with: /W2 /c

class X;
template<class T> void Func(T t, int i);

class X {
    friend inline void Func<char>(char t, int i);  //C4396
// try the following line instead
//    friend void Func<char>(char t, int i);
    int i;
};