我有一些代码,我将union定义为:
union myP{
ptr addr;
hGeneric* hGenericP;
};
我需要在结构中使用上面的联合,但是作为一个未命名的联合,就像我写的那样:
struct XXXX{
union{
ptr addr;
hGeneric* hGenericP;
};
union{
Token nextFree;
....
};
};
实际上我将字段行写在另一个文件中,然后将它们包含在
中union myP{
#include "fieldsOf_myP"
};
我需要在结构中使用上面的联合,但是作为一个未命名的联合,就像我写的那样:
struct XXXX{
union{
#include "fieldsOf_myP"
};
union{
Token nextFree;
....
};
};
这样我的IDE(codeLite)就不会看到这些字段,也不会在代码写入过程中显示它们。有没有办法只编写联合名称并将其用作未命名的?
使用继承工作时,答案是否与我的确切代码相反?
union headP{
ptr addr;
hGeneric* hGenericP;
hVarBase<agu>* hVarP;
hAggregateBase<Word>* hAggregateP;
void(*executeFunction)();
};
union vect{
struct{
union{
ptr addr;
hGeneric* hGenericP;
hFixBase<agu>* hFixP;
hVarBase<agu>* hVarP;
hAggregateBase<Word>* hAggregateP;
void(*executeFunction)();
};
union{
Token nextFree;
struct{
suWord Class;
suWord executionLevel:(sWordBits-shortClassBits);
uint8_t shortClass:shortClassBits;
};
};
};