我在 gcc 下使用默认 C。
我的代码:
typedef struct _OpcodeEntry OpcodeEntry;
//
struct _OpcodeEntry
{
unsigned char uOpcode;
OpcodeMetadata pMetadata;
};
//
const OpcodeMetadata omCopyBytes1 = { 1, 1, 0, 0, 0, 0, &CopyBytes };
const OpcodeEntry pOpcodeTable[] =
{
{ 0x0, omCopyBytes1 },
};
错误:
error: initializer element is not constant
error: (near initialization for 'pOpcodeTable[0].pMetadata')
如果我更改omCopyBytes1
为上一行中实际设置的内容,则代码可以正常编译。我究竟做错了什么?