gpt4 book ai didi

c - 是不是对于外部变量和静态变量,初始化器必须是常量表达式?

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:22 25 4
gpt4 key购买 nike

在阅读 Dennis M. Ritchie 的“The C Programming Language”时,我遇到了这行:

For external and static variables, the initializer must be a constant expression.

我无法理解这里的常量表达式是什么意思,因为下面的代码编译没有任何错误,声明:static int a = n-1 不是一个非常量表达式吗?请指出我在这里缺少什么。提前致谢。

#include<iostream>
using namespace std;

int main()
{
int n;
cin>>n;

static int a = n-1;

return 0;
}

最佳答案

它在 C 中是必需的,但在 C++ 中不是。它们是不同的语言。

The code compiles as C++ ,

but not as C .


void foo() { this line is here because of stupid restrictions of Stack Overflow }

关于c - 是不是对于外部变量和静态变量,初始化器必须是常量表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18131691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com