编译器错误 C2129

已声明但未定义的静态函数“function”

对从未定义的 static 函数进行正向引用。

必须在文件范围内定义 static 函数。 如果已在另一个文件中定义函数,必须声明为 extern

以下示例将生成 C2129:

// C2129.cpp
static void foo();   // C2129

int main() {
   foo();
}

可能的解决方法:

// C2129b.cpp
static void foo();

int main() {
   foo();
}

static void foo() {}