次の方法で共有


コンパイラの警告 (レベル 2) C4396

"name": フレンド宣言が関数の特殊化を参照している場合、テンプレートのインライン指定子を使用できません

関数テンプレートの特殊化では、いずれの インライン 指定子も指定できません。 コンパイラは、警告 C4396 を発行し、インライン指定子を無視します。

このエラーを解決するには

  • フレンド関数の宣言から inline__inline__forceinline の指定子を削除します。

次のコード例では、 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;
};