Advertencia del compilador (nivel 2) C4396
"name": el especificador inline no se puede usar cuando una declaración de confianza hace referencia a una especialización de una plantilla de función
Una especialización de una plantilla de función no puede especificar ninguno de los especificadores inline . El compilador emite la advertencia C4396 y omite el especificador inline.
Para corregir este error
- Quite el especificador
inline
,__inline
o__forceinline
de la declaración de función friend.
Ejemplo
El ejemplo de código siguiente muestra una declaración de función friend no válida con un especificador 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;
};