0

我正在使用 QtTest 并且刚刚更新到 Qt 5.9 并且有这种警告:

error: use of the 'fallthrough' attribute is a C++1z extension [-Werror,-Wc++1z-extensions]

Q_FALLTHROUGH()他们都指向qtestmouse.h 所以显然我需要添加一些东西,QMAKE_CXXFLAGS但无法找出究竟是什么。

我可以忽略这些警告,pragma但想进一步了解这个主题。

4

1 回答 1

1

这很容易——答案在错误消息中,它说:

[-Werror,-Wc++1z-extensions]

这指定了哪些警告标志生成了此诊断。在我们的例子中,我们忽略了该-Werror部分,因为我们不想关闭整个行为,但是我们可以通过使用no-另一个标志的形式来关闭警告,即-Wno-c++1z-extensions.

(由于您支持它的编译器和版本,在您的情况下Q_FALLTHROUGH()正在扩展到 C++17构造。)[[fallthrough]]

于 2017-07-11T15:04:57.073 回答