Avertissement du compilateur (niveau 2) C4396
'nom' : le spécificateur inline ne peut pas être utilisé lorsqu’une déclaration friend se réfère à une spécialisation d’un modèle de fonction
Une spécialisation d’un modèle de fonction ne peut spécifier aucun des spécificateurs inline . Le compilateur émet l’avertissement C4396 et ignore le spécificateur inline.
Pour corriger cette erreur
- Supprimez le spécificateur
inline
,__inline
ou__forceinline
de la déclaration de la fonction friend.
Exemple
L’exemple de code suivant montre une déclaration de fonction friend non valide avec un spécificateur 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;
};