Как присвоить значение структуре с битовыми полями?
У меня есть структура с битовыми полями (полностью 32-битная ширина), и у меня есть 32-битная переменная. Когда я пытаюсь присвоить значение переменной моей структуре, я получаю сообщение об ошибке:
error: conversion from ‘uint32_t {aka unsigned int}’ to non-scalar type ‘main()::CPUID’ requested.
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;
У вас есть идеи, как сделать это в кратчайшие сроки? Спасибо
Постскриптум Конечно, у меня есть более подходящее значение EAX в реальном коде, но я думаю, что это здесь не влияет.