我在初始化结构时遇到奇怪的编译器错误。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

struct RadarData
{
    unsigned int messageID : 32;
    unsigned int time : 32;
    float az;
    float el;
};
struct RadarData sendData;

sendData.az = 25;
sendData.el = 10;
sendData.messageID = 1;
sendData.time = 100;

根据一些不同的教程,这对我来说看起来不错,但是在两台不同的计算机上,编译时出现以下错误:



为什么会出现此错误?

最佳答案

sendData.az = 25;

这样的语句必须在函数内部。如果要初始化该结构,则有不同的语法:
struct RadarData sendData = { 25, 10, 1, 100 };

07-28 12:19