我一直在编写代码,最近我发现g++并没有警告我注意某一类问题:按照C++11 5.1.2.4,如果您的lambda不是一个返回语句,则必须将返回类型声明为拖尾返回类型,或者是无效。虽然如果g++有足够的意义,它可以编译无效的代码,但是是否有一种方法可以关闭此行为(允许在g++-4.7中使用-fpedantic ),或者最不需要警告呢?; return 0; } //is not fine but g++ doesn't warn me
[&a]() -> int {a++; return 0; }