コンパイラの警告 (レベル 1) C4822
'member': ローカル クラスのメンバー関数は本体がありません
解説
ローカル クラス メンバー関数が宣言されましたが、クラスに定義されていません。 ローカル クラス メンバー関数を使用するには、その関数をクラスに定義する必要があります。 クラス内で宣言する関数をクラス外で定義することはできません。
ローカル クラス メンバー関数をクラス外で定義すると、エラーになります。
Visual Studio 2019 以降では、C4822 は既定でオフの警告です。
例
次の例では C4822 が生成されます。
// C4822.cpp
// compile with: /W1
int main() {
struct C {
void func1(int); // C4822
// try the following line instead
// void func1(int){}
};
}