我知道 VLA 不是 C++11 的一部分,而且我已经看到 GCC 的这种失误。这是我切换到 Clang 的部分原因。但现在我也看到了 Clang。我正在使用 clang 3.2(落后于最新版本)并且正在使用 -pedantic 和 -std=c++11进行编译
我希望我的测试不会编译,但它会编译并运行。
int myArray[ func_returning_random_int_definitely_not_constexpr( ) ];
这是编译器错误还是我遗漏了什么?
回应这里的评论是 random_int_function()
#include <random>
int random_int_function(int i)
{
std::default_random_engine generator;
std::uniform_int_distribution<int> distribution(1,100);
int random_int = distribution(generator);
return i + random_int;
}