gpt4 book ai didi

c++ - 二维数组中的预期常数

转载 作者:太空宇宙 更新时间:2023-11-04 15:20:01 24 4
gpt4 key购买 nike

double rainPerMonth(const int YEARS)
{
int monthYear[MONTHS][YEARS];
// ...
}

Visual Studio 在数组声明下方显示一条波浪线,表明在我创建数组时 YEARS 必须是常量。这是一个 IDE 问题,因为变量尚未初始化,还是我写错了?

MONTHS 已在全局声明。

最佳答案

数组大小必须是常量表达式——即编译时已知的值。 (一些编译器提供 C 风格的可变长度数组作为非标准扩展,但我不认为 Visual C++ 提供。即使提供,最好不要依赖此类扩展。)

函数参数在编译时是未知的,因此不能用作数组大小。你最好的选择可能是这里

std::vector<std::array<int, MONTHS>> monthYear(YEARS);

关于c++ - 二维数组中的预期常数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21486696/

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