在阅读 Dennis M. Ritchie 的“The C Programming Language”时,我遇到了这一行:
对于外部变量和静态变量,初始化程序必须是常量表达式。
我无法理解常量表达式在这里的含义,因为下面的代码编译时没有任何错误,这不是语句:static int a = n-1,非常量表达式吗?请指出我在这里缺少什么。提前致谢。
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
static int a = n-1;
return 0;
}