Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;标准支持非常量数据成员作为数组边界?_C++ - Fatal编程技术网

C++ c++;标准支持非常量数据成员作为数组边界?

C++ c++;标准支持非常量数据成员作为数组边界?,c++,C++,请参阅以下代码: class X { int a; public: void foo() { char arr[a]; // a is not a constant variable, but g++ doesn't report error, why? } }; 我一直认为只有常量表达式才能用于数组边界,直到今天我遇到了上面的奇怪代码。g++和clang++都可以成功地编译它。但是我不能在C++标准中找到任何支持它的描述。它是编译器的扩展内容吗?我在哪

请参阅以下代码:

class X {
    int a;
public:
    void foo() {
        char arr[a]; // a is not a constant variable, but g++ doesn't report error, why?
    }
};

我一直认为只有常量表达式才能用于数组边界,直到今天我遇到了上面的奇怪代码。g++和clang++都可以成功地编译它。但是我不能在C++标准中找到任何支持它的描述。它是编译器的扩展内容吗?我在哪里可以找到一些关于它的描述?< /P> < P>不,C++标准不支持

< P>不,C++标准不支持

< p>编译器正在尝试使用非标准特征。
坦白地说,我发现它甚至不总是正常工作。不确定为什么会出现这种情况,但我学会了避免这种情况。

您的编译器正在尝试使用非标准功能

坦白地说,我发现它甚至不总是正常工作。不知道为什么会这样,但我学会了避免它。

可能的重复