我有一个填充空缓冲区(char *)的函数。看起来像 :
void Matrix::toString(char* buffer, int sizeBuffer) const{
char buf[sizeBuffer];
//some code to fill buf
//copy buf into buffer
}
在我将 QtCreator 中的功能与我的新 GUI 一起使用之前,它一直运行良好。编译器告诉我他期望一个常量表达式,并且他不能分配一个常量大小为 0和buf:unknown size的数组。
我搜索了一下,发现我必须动态分配我的数组。它正在工作,但现在我想知道..为什么我不能在堆栈上分配它?是不是编码不好?而且,为什么它以前工作?谢谢