考虑以下示例:
#include <functional>
int main() {
const int x = 42;
auto fn = [&x = x]() { return x; };
fn();
}
使用 clang 3.6.2 进行编译,但不能使用 GCC 5.3.1 进行编译。
另一方面,以下代码无法使用它们编译:
#include <functional>
int main() {
const int x = 42;
auto fn = [&x = x]() { x = 1; };
fn();
}
哪个编译器适用于第一个示例?