double rainPerMonth(const int YEARS)
{
int monthYear[MONTHS][YEARS];
// ...
}
Run Code Online (Sandbox Code Playgroud)
Visual Studio在数组声明下面显示了一条波浪线,说YEARS我在创建数组时必须是常量.这是一个IDE问题,因为该变量尚未初始化,或者我写错了吗?
MONTHS 已经在全球宣布.
数组大小必须是常量表达式 - 即编译时已知的值.(有些编译器提供C风格的可变长度数组作为非标准扩展,但我不认为Visual C++会这样做.即使它确实如此,最好不要依赖这样的扩展.)
函数参数在编译时是未知的,因此不能用作数组大小.你最好的选择就在这里
std::vector<std::array<int, MONTHS>> monthYear(YEARS);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |