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

问题描述

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

#include <iostream>

int main() 
{
    []{ std::cout << "hello"; };
}

幸运的是,由于lambda表达式从未被评估/使用过,因此clang发出了-Wunused-value警告。

但是,gcc根本不发出任何警告。使用gcc进行编译时,是否有办法警告此错误代码?

有一篇有关未使用的lambda 捕获 here的相关文章,但与此问题有关的是未使用的lambda 表达式本身。

解决方法

GCC具有警告选项-Wunused,该选项启用有关未使用代码段的所有警告。最新的(trunk)GCC不会通过选项-Wunused -Wall -Wextra警告未使用的lambda。因此,我的结论是,目前无法在GCC中启用警告该警告的警告。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...