我想保留任何其他检查-Wpedantic,但会丢失有关未命名结构的警告error: ISO C++ prohibits anonymous structs [-Wpedantic].
我希望能够做到以下几点:
union
{
struct
{
float x, y, z, w;
};
struct
{
float r, g, b, a;
};
float v[4];
};
Run Code Online (Sandbox Code Playgroud)
我正在使用C++ 11并使用-std=c++11标志进行编译.我已经读过C11支持这个功能,但我还没有看到它在C++ 11中得到支持.
我曾经提到过-fms-extensions:
我尝试了旗帜,它似乎没有任何效果(无论在-fms-extensions和之间排序的排列-Wpedantic).
感谢我的评论,我发现了以下内容:
我仍然想知道是否有一种方法可以启用此gcc扩展(我知道所有编译器都有)将禁用该警告.或者是-Wpedantic全有还是全无?
您可以-Wpedantic暂时禁用,例如,如果某些包含文件中有旧代码:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic"
#include "old_header.hpp"
#pragma GCC diagnostic pop
Run Code Online (Sandbox Code Playgroud)
当然,您也可以在每次使用匿名结构来限制pedantic禁用范围的情况下执行此操作,但是当您这样做时,您也可以继续修复代码本身:)
| 归档时间: |
|
| 查看次数: |
4317 次 |
| 最近记录: |