尝试编译此代码:
const int a = 1;
auto lambda = [&]() {
&a;
};
lambda();
关于clang ++一切都很好,但是g ++给出了一个错误:
错误:左值作为一元'&'操作数
我没有找到解释这种行为的任何内容。这是g ++中的错误吗?或者clang ++会错过什么吗?
答案 0 :(得分:5)
它被认为是g ++中的错误:http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58894
根据评论,它持续于GCC 4.5.4,并且在那一刻,未在GCC 4.9.0中修复。