Why can I set the size of an array equal to the (unknown) size of a vector?
本问题已经有最佳答案,请猛点这里访问。
我在Stack Overflow上的第一个问题:
我正在C语言程序上工作,但发生某些我认为不起作用的事情。我的同事正在建立我们正在处理的某个类的元素的向量
1 2 | const unsigned myNumber = myvec.size(); bool valid_PDFplot[myNumber]; |
我一直认为,除非使用
之所以被接受是因为您的编译器将可变长度数组实现为扩展。 (VLA于1999年引入标准C,并于2011年成为可选。它们从未添加到标准C中。)
如果使用的是gcc,则
1 2 3 | c.cpp: In function 'int main()': c.cpp:6:32: warning: ISO C++ forbids variable length array 'valid_PDFplot' [-Wvla] bool valid_PDFplot[myNumber]; |