我有一个带有位字段的结构(总共32位宽度),我有一个32位变量.当我尝试将变量值分配给我的结构时,我收到一个错误:
错误:从'uint32_t {aka unsigned int}'转换为请求的非标量类型'main():: CPUID'.
struct CPUIDregs
{
uint32_t EAXBuf;
};
CPUIDregs CPUIDregsoutput;
int main () {
struct CPUID
{
uint32_t Stepping : 4;
uint32_t Model : 4;
uint32_t FamilyID : 4;
uint32_t Type : 2;
uint32_t Reserved1 : 2;
uint32_t ExtendedModel : 4;
uint32_t ExtendedFamilyID : 8;
uint32_t Reserved2 : 4;
};
CPUID CPUIDoutput = CPUIDregsoutput.EAXBuf;
Run Code Online (Sandbox Code Playgroud)
你知道如何以最短的方式做到这一点吗?谢谢
PS当然我在实际代码中有更合适的EAX值,但我想这不会影响到这里.