我想initalize一个结构,但得到在C以下错误封邮件:初始化结构
错误:初始元素不是常数
错误:(近初始化为“resource01.resource.role” )
对于URL它的工作原理,它只是它不工作中的作用。首先,我有一个角色指针,我分配了变量的地址。我删除了指针,因为我不需要它,我不能为变量赋值。我究竟做错了什么?
static char const resource01Url[] = "/dummy";
static int const resource01Role = 2;
static struct RestResourceNode_S resource01 =
{
{
resource01Url,
resource01Role,
&DummyHandler_call
},
NULL
};
static struct RestResourcesManager_S resourcesManager =
{
&resource01, &resource01
};
类型RestResourceNode_S定义:
struct RestResourceNode_S
{
RestResource_T resource;
struct RestResourceNode_S const *next;
}
和RestResource_t:
struct RestResource_S
{
char const *url;
int const role;
retcode_t (*handle)(Msg_T *);
};
typedef struct RestResource_S RestResource_T;
'resource01Url'不会算作一个常量表达式,数组的位置由连接器确定。 –