gpt4 book ai didi

c++ - C 和 C++ 的数组大小声明差异

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:38 26 4
gpt4 key购买 nike

const int num = 16;
struct inputs{
double X1[num];
double X2[num];
};

给我一​​个错误:

error: variably modified ‘X1’ at file scope

“X2”也是如此。

不过我记得上面的C++没问题,上面的没问题(我可能会误认为是C++)。

谁能帮我解释一下?

最佳答案

我可以给你指点 C FAQ: I don't understand why I can't use const values in initializers and array dimensions .

它基本上说的是 num 不是真正的常量,它只是只读的。要获得真正的常量,您需要 #define num 16

同样在该页面上:C 在这方面不同于 C++

关于c++ - C 和 C++ 的数组大小声明差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8002765/

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