编译器警告(等级 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){}
  };
}