关于有效代码的“QtCreator中的预期声明”

我在QtCreator的一个C项目中工作(是的,它主要用于C,但到目前为止,它对C来说还算可行).

现在我在一个编译好的有效代码上得到一个红色下划线:

《关于有效代码的“QtCreator中的预期声明”》

对于虚拟COM端口,它基本上是this未更改的libopencm3示例项目.

你能看到代码中的一些问题,也许不是致命的,但是什么可能让编辑认为这是一个错误?

我尝试使用等效的typedef替换struct usb_device_descriptor,但这没有帮助.

第二行的错误说“预期”,得到了.“结束}注释为“额外的;`

这是结构声明的方式:

/* USB Standard Device Descriptor - Table 9-8 */
struct usb_device_descriptor {
    uint8_t bLength;
    uint8_t bDescriptorType;
    uint16_t bcdUSB;
    uint8_t bDeviceClass;
    uint8_t bDeviceSubClass;
    uint8_t bDeviceProtocol;
    uint8_t bMaxPacketSize0;
    uint16_t idVendor;
    uint16_t idProduct;
    uint16_t bcdDevice;
    uint8_t iManufacturer;
    uint8_t iProduct;
    uint8_t iSerialNumber;
    uint8_t bNumConfigurations;
} __attribute__((packed));

最佳答案 找到了一个解决方法:

在此设置页面中将“C”的值更改为Clang:

《关于有效代码的“QtCreator中的预期声明”》

(正如m.s.在评论中指出的那样,你可能必须先到enable the model)

点赞