我有一段代码:
int CPUs = GetNumCPUs();
FILE *newFile[CPUs];
我有一个错误。它在第二行标记为“CPU”,并说:
“表达式必须具有恒定值”。
我尝试使用
const
,但无法正常工作。 最佳答案
C++中不能有大小可变的数组。将const
添加到CPUs
并没有帮助,它只会使变量变为只读,但它仍不是编译时常量,因为它是在运行时由函数初始化的。
通常的解决方案是使用 vector :
std::vector<FILE*> newFile(CPUs);