【发布时间】:2016-02-23 07:00:18
【问题描述】:
以下代码会生成一个警告,指出未使用temp(这是真的):
#include <cstdio>
int f() { return 5; }
int main() {
if(const int& temp = f()) {
printf("hello!\n");
}
return 0;
}
问题是我需要在不使用 gcc -Wall 和 clang -Weverything 生成警告的情况下执行此操作(我正在实现类似于 SECTION() 的 @987654321 的东西的功能@)。
那么有什么方法可以让它静音呢?我尝试使用__attribute__((unused))。
全局使用-Wno-unused-variable 对我来说不是一个选项,因为我正在编写一个仅标头库。
【问题讨论】:
-
if(const int& temp = 1 ? f() : temp) {Idk 如何定义有temp,但它消除了警告,应该优化掉。 -
怎么用
(void*)unused_variable; -
您为什么需要它?如果你这样做了,你能创建一个例子来展示它吗?
-
@juanchopanza
SECTION()Catch 中的东西是这样实现的,我不知道该怎么做
标签: c++ warnings compiler-warnings suppress-warnings