error C2467: 非法的匿名“struct”声明 —— 解决方法

问题

包含windows.h文件后,出现这个错误:

error C2467: 非法的匿名“struct”声明

具体是这里的问题:

// winnt.h
...

    // Control Flags
    union {
        DWORD ControlFlags;
        struct
        {
            DWORD OptimizedSave : 1;
            DWORD CompactionEnabled : 1;
--->    };
    };
	
...

解决方法

配置属性->C/C++->语言里,设置禁用语言扩展
可以在整个项目里设置,也可以设置单个cpp文件。
image

参考

编译器错误 C2467 | Microsoft Docs

posted on 2022-08-12 10:39  OctoberKey  阅读(500)  评论(0)    收藏  举报

导航