首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何创建结构数组

如何创建结构数组
EN

Stack Overflow用户
提问于 2019-05-14 07:45:42
回答 2查看 0关注 0票数 0

我希望能够轻松地创建具有特定信息的const结构,因此决定将它们“一次一行地”声明并初始化,因此我可以根据需要添加新的const结构。这工作正常,但我怎么能创建某种数组来访问这些const结构?我尝试了以下,但它不起作用。

代码语言:javascript
复制
typedef struct
{
    int numOfNotes;
    char *arpName;
    double freqRatios[12];
} ARPINFO;

const ARPINFO majorArp = {3,"Major Arpeggio",{0.0,JUST_MAJ_3,JUST_PERF_5}};
const ARPINFO minorArp = {3,"Minor Arpeggio",{0.0,JUST_MIN_3,JUST_PERF_5}};

const ARPINFO arpInfoArray[2] = {majorArp,minorArp}; // ERROR HERE

如果我可以使用这种组织我的结构的方式,我只需要改变数组的大小并将新的const结构添加到数组中,每次我创建一个新的const结构。

还是我离开这里?枚举或MACROS会帮助我吗?

编辑:freqRatios是用宏定义的,我明白初始0.0可能是多余的......

EN

Stack Overflow用户

发布于 2019-05-14 16:15:04

你应该描述你得到的错误。试图自己编译导致:

代码语言:javascript
复制
main.cpp:14:33: error: initializer element is not a compile-time constant
const ARPINFO arpInfoArray[2] = {majorArp,minorArp}; // ERROR HERE
                                ^~~~~~~~~~~~~~~~~~~

解决方案是:

代码语言:javascript
复制
const ARPINFO arpInfoArray[2] = {
  {3,"Major Arpeggio",{0.0,JUST_MAJ_3,JUST_PERF_5}},
  {3,"Minor Arpeggio",{0.0,JUST_MIN_3,JUST_PERF_5}}
};
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档