【发布时间】:2023-04-11 03:01:01
【问题描述】:
我必须为一个静态变量分配一个我从函数中获取的值。 我尝试执行以下操作,但我得到初始化元素不是恒定的。
int countValue()
{
return 5;
}
void MatrixZero()
{
static int count=countValue();
count++;
printf("count value %d \n",count);
}
int main()
{
MatrixZero();
return 0;
}
【问题讨论】:
-
尝试使用 C++ 编译器。确保添加“#include
”。 C 不允许使用非常量初始化静态变量。 -
@RichardPennington 这是 C 和 C++ 是不同的语言。我不认为用 C++ 编译器编译 C 程序是一个好建议。
-
@ouah 首次发布时并未标记为 C。我只是指出 C 和 C++ 处理静态初始化程序的方式不同。
标签: c