这来自another question。
以下程序在gcc和icc上编译,但无法在VS和clang上编译:
template <typename Y>
auto add_value(Y y)
{
const short z{9};
return [y](auto x)
{
return z;
};
}
int main()
{
add_value(2);
}
标志是:-std=c++14 -O2 -Wall -Wshadow -pedantic -pthread
哪个是对的?我想gcc在这里是正确的吗?但我更希望失败。