c++ - 如何在 gcc 中为未使用的 lambda 表达式启用警告?

标签 c++ lambda gcc-warning

以下code有一个错字,我忘了用 () 调用 lambda 表达式:

#include <iostream>

int main() 
{
    []{ std::cout << "hello"; };
}
幸运的是,clang 发出了 -Wunused-value lambda 表达式的警告,因为它从未被评估/使用过。
但是 gcc 根本不发出任何警告。使用 gcc 编译时,有没有办法警告这个有问题的代码?
有一篇关于未使用的 lambda 捕获的相关帖子 here这是相似的,但这个问题是针对未使用的 lambda 表达式本身。

最佳答案

GCC 有警告选项 -Wunused它启用有关未使用的代码段的所有警告。最新的(主干)GCC 不会警告未使用的 lambda 选项 -Wunused -Wall -Wextra .因此,我的结论是,目前无法启用对 GCC 中显示的程序发出警告的警告。

关于c++ - 如何在 gcc 中为未使用的 lambda 表达式启用警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63455316/

相关文章:

java - 读取具有过时接口(interface)的序列化 lambda

function - 如何在 f# 中对任意函数进行计时

java - 如何在 Java 中使用 forEach 和 lambda 表达式求和?

c - 告诉 gcc 一个函数调用不会返回

gcc - 如何在Qt Creator(cmake)中将 “unused parameter”错误更改为警告?

c++ - 抛出可由 C++98 和 C++1x 编译的析构函数。有没有更好的办法?

c++ - 具有相同散列值的值是否在同一个 std::unordered_map 桶中?

python - 在 python 中如何设置 LP_c_ubyte 的值

c++ - c&c++默认全局变量链接,多重声明&定义问题

c - 如何从位域转换为指针?