[[maybe_unused]]和构造函数

时间:2018-09-10 17:58:34

标签: c++ c++17

尝试使用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可以很好地进行编译(并在其他地方失败)。

那么,是对的,c语还是gcc? (对于lang和gcc,标志都是-std = gnu ++ 17,由CMake生成)

0 个答案:

没有答案