gpt4 book ai didi

c - 使用 typedef 结构时出错

转载 作者:行者123 更新时间:2023-12-02 04:43:37 25 4
gpt4 key购买 nike

我有以下 typedef 结构

typedef unsigned int NOTE_FREQ;
/*******A_MUSIC_ELEMENT structure****************/
typedef struct {
NOTE_FREQ frequencyValue;
int duration;
} A_MUSIC_ELEMENT;

现在我想制作一个包含特定值的 A_MUSIC_ELEMENT 数组。

A_MUSIC_ELEMENT ZTitleScreen[] = {{60, 20},{80, 50}}; 

它编译得很好。但为了让事情更具可读性,我尝试设置

int BPM1 = 60;
int BPM2 = 80;
int TIME1 = 20;
int TIME2 = 50;
A_MUSIC_ELEMENT ZTitleScreen[] = {{BPM1, TIME1},{BPM2, TIME2}};

我收到一条错误消息:

constant expression required 

我不知道为什么,因为它应该是同一件事。我正在使用 Windows 8、mplab x IDE、高科技 C 编译器。任何帮助揭开这个神秘面纱的感谢。

最佳答案

BPM1 的值可能会改变,因此编译器不允许它作为初始化列表的参数。

如果您想使用命名常量,请尝试使用enum

关于c - 使用 typedef 结构时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20278641/

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