Как присвоить значение структуре с битовыми полями?

У меня есть структура с битовыми полями (полностью 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 в реальном коде, но я думаю, что это здесь не влияет.

Ответы на вопрос(4)

Ваш ответ на вопрос