ビットフィールド (合計 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;
最短の方法でそれを行う方法はありますか?ありがとう
PS もちろん、実際のコードでは EAX のより適切な値がありますが、ここでは影響しないと思います。