- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
尝试使用 gcc 8.2.1 和 clang 6.0.1 编译 sqlpp17 代码库是一种非常奇怪的体验。该代码将编译器推到了极限,同时我可能遇到了一些编译器错误。
从 GCC 文档中,[[maybe_unused]] 从版本 7 开始实现,但如果以这种方式使用:
struct foo {
foo([[maybe_unused]] bool thing1)
{
}
};
我遇到了这个特定的错误:
<source>:2:9: error: expected unqualified-id before '[' token
foo([[maybe_unused]] bool thing1)
^
<source>:2:9: error: expected ')' before '[' token
foo([[maybe_unused]] bool thing1)
~^
)
Compiler returned: 1
现在,我对 C++17 知之甚少,不知道这个错误是否正确,我知道 clang 6 可以很好地编译那部分(但在其他地方失败)。
那么,谁是对的,clang 还是 gcc? (clang 和 gcc 的标志都是 -std=gnu++17,由 CMake 生成)
最佳答案
这是 g++ 中的一个已知错误:https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81429 G++ 无法正确解析构造函数第一个参数的 [[maybe_unused]]
属性。
关于c++ - [[maybe_unused]] 和构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52263141/
尝试使用 gcc 8.2.1 和 clang 6.0.1 编译 sqlpp17 代码库是一种非常奇怪的体验。该代码将编译器推到了极限,同时我可能遇到了一些编译器错误。 从 GCC 文档中,[[mayb
查看 [[maybe_unused]] 的规范,它指出: Appears in the declaration of a class, a typedef, a variable, a nonst
标准草案在 10.6.6 第 2 项中声明了 [[maybe_unused]] “该属性可以应用于类、typedef-name、变量、非静态数据成员、函数、枚举或枚举器的声明。” 有什么理由排除静态数
使用 [[maybe_unused]] 有什么好处?考虑 int winmain(int instance, int /*prevInstance*/, const char */*cmdline*/
我想知道为什么我不能在 lambda 的捕获列表中使用 [[maybe_unused]] 属性。是否有原因不能将捕获的列表的变量标记为 [[maybe_unused]]?这将避免捕获所有变量,意思是
如果一个变量仅在 assert 中使用,那么编译器通常会在程序以 Release模式(即没有调试标志)编译时产生警告。 This question建议禁用这些特定警告的方法。在答案中,建议使用 C++
尝试找出 [[maybe_unused]] 属性的正确语法导致了 following code : int main() { typedef int X; // warning [[m
具有模式匹配(有时?)的函数式语言有可能忽略某些绑定(bind)值,但对于 C++17 结构化绑定(bind),似乎无法做到这一点(std::ignore with structured bindin
带有模式匹配的函数式语言(有时?)可能会忽略一些绑定(bind)值,但使用 C++17 结构化绑定(bind)似乎没有办法做到这一点( std::ignore with structured bind
问题 我应该使用 [[maybe_unused]] attribute在未使用的类 *tors 上? 示例 让我们考虑以下示例: public: struct keyData{ public:
[[maybe_unused]] 的重点是告诉编译器不要警告未使用的变量,对吧?那么,为什么 GCC 在这里警告 ui 未使用? #include #include #define NDEBUG
在下面example : struct Foo { [[maybe_unused]] int member = 1; void bar() { [[maybe_unus
我是一名优秀的程序员,十分优秀!