gpt4 book ai didi

arrays - 在C++中是否允许使用具有定义的const的数组?

转载 作者:行者123 更新时间:2023-12-02 10:58:23 25 4
gpt4 key购买 nike

我尝试使用C++编译器运行以下代码:

#include <iostream>
#include <string>
using namespace std;

int MAX=10;
int list[MAX];

int main()
{
int sum =0;

for (int i = 0; i<=MAX; ++i){
list[i]=i;
}

for (int i = 0; i<=MAX; ++i){
sum=sum+list[i];
}

cout << sum << endl;
}

但是收到了这个错误:
“整数数组的边界不是']'标记之前的整数常量”

我不明白为什么会出错,因为我之前已将MAX定义为10
整数列表[MAX]
那不行吗

感谢任何帮助

最佳答案

这里没有编译器错误消息,恰恰是错误消息所说的。在const声明之前,您尚未包括int MAX

大写字母和从未更改MAX的值并不意味着它是一个常数。

请注意,一些编译器接受使用变量(即使用int MAX = 10;而不是const int MAX = 10;进行数组初始化。不要依赖于此,因为它不应该发生。

如果要使用变量来初始化数组,则需要使用指针:

int size;
cin >> size;

int *list = new int[size];

关于arrays - 在C++中是否允许使用具有定义的const的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52912032/

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