我有一段代码:

int CPUs = GetNumCPUs();
FILE *newFile[CPUs];

我有一个错误。它在第二行标记为“CPU”,并说:
“表达式必须具有恒定值”。

我尝试使用const,但无法正常工作。

最佳答案

C++中不能有大小可变的数组。将const添加到CPUs并没有帮助,它只会使变量变为只读,但它仍不是编译时常量,因为它是在运行时由函数初始化的。

通常的解决方案是使用 vector :

std::vector<FILE*> newFile(CPUs);

08-03 18:48