gpt4 book ai didi

c - 初始化元素不是常量

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

我已经阅读了有关此主题的其他答案,但它们对我没有帮助。我宣布全局卡住:

    typedef stuck {
....
} a;

在我初始化这个结构的动态数组之后:

    a * severalA= (a*)malloc (sizeof (a)*3);

编译后出现错误:“initialize element is not constant” on the malloc type(粗体)。知道我在这里错过了什么吗?我试图在初始化之前添加 const 但没有成功。

最佳答案

在 C 语言中,具有静态存储持续时间的对象必须使用常量表达式或包含常量表达式的聚合初始化器进行初始化。

我的猜测是您试图将多个 A 定义为全局变量 - 是这样吗?

在那种情况下,malloc() 不是常量表达式,不能使用。

关于c - 初始化元素不是常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43916577/

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