Wie kann man einer Struktur mit Bitfeldern einen Wert zuweisen?

Ich habe eine Struktur mit Bitfeldern (insgesamt 32 Bit Breite) und ich habe eine 32-Bit-Variable. Wenn ich versuche, der Struktur den Variablenwert zuzuweisen, erhalte ich eine Fehlermeldung:

Fehler: Konvertierung von "uint32_t {aka unsigned int}" in den nicht skalaren Typ "main () :: CPUID" angefordert.

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;

Haben Sie eine Idee, wie es auf kürzestem Weg geht? Vielen Dank

P.S. Natürlich habe ich einen angemesseneren Wert für EAX in echtem Code, aber ich denke, das hat hier keinen Einfluss.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage