我想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'不會算作一個常量表達式,數組的位置由連接器確定。 –