C语言 如何在结构中声明一个包含 const int 项的数组



>我正在尝试创建一个内部带有数组的结构。 我希望数组大小应该在编译时设置。 那是硬编码的,但使用变量,所以我可以在代码中轻松更改它。 问题是当我在结构定义之前的标头中使用 const int 时,我收到链接器错误。 这是我的代码:

从头文件:

const int t_Module_qInternalParams =64;
typedef struct Module{
double internalParams[t_Module_qInternalParams];
} t_Module;

这个:

const int t_Module_qInternalParams = 64;

是一个常量,即对象在初始化后无法修改,但它仍然是一个变量。特别是,t_Module_qInternalParams不是声明符中要求的编译时常量

一个简单的解决方案是改用预处理器宏:

#define MODULE_INTERNALPARAMS 64

这只是在编译阶段开始之前扩展到64,当然,64是一个编译时常量

相关内容

  • 没有找到相关文章

最新更新