#include <stdio.h>
int foo(){
return 1;
}
int main(void) {
static int q = foo();
return 0;
}
这是相同的链接。这是 C 代码而不是 C++。它在 C++ 中编译和运行良好,但不是 C。
此代码出现编译错误。有人可以解释为什么会出错吗?静态成员只能由常量值初始化吗?在 C++ 中,我们需要在声明静态成员后定义它们,为什么在 C 中不需要?我找不到任何具有类似查询或好的答案的线程。