Visual studio 通过MPI世界大小,表达式在数组中必须有常量值错误

Visual studio 通过MPI世界大小,表达式在数组中必须有常量值错误,visual-studio,mpi,Visual Studio,Mpi,最近,我开始学习MPI编程,并尝试在Linux和Windows操作系统上编程。我在Linux上运行MPI应用程序没有任何问题,但是,我在Visual Studio上偶然发现表达式必须有一个常量值错误 例如,我试图通过MPI\u Comm\u大小(MPI\u Comm\u world,&world\u大小)获取world\u大小并基于世界大小创建数组(例如) 代码示例: #include <mpi.h> int world_size; MPI_Comm_size

最近,我开始学习MPI编程,并尝试在Linux和Windows操作系统上编程。我在Linux上运行MPI应用程序没有任何问题,但是,我在Visual Studio上偶然发现
表达式必须有一个常量值错误

例如,我试图通过
MPI\u Comm\u大小(MPI\u Comm\u world,&world\u大小)获取
world\u大小
并基于
世界大小创建数组(例如)

代码示例:

#include <mpi.h>
      int world_size;
      MPI_Comm_size(MPI_COMM_WORLD, &world_size);

      int database[world_size]; //error occured here
#包括
国际大世界;
MPI_Comm_大小(MPI_Comm_WORLD和WORLD_大小);
int数据库[世界大小]//此处发生错误
然而,当我在Linux上运行它时,它工作得非常好,因为我能够执行代码,同时说明我希望拥有的进程数。我遗漏了什么吗?我遵循了教我如何在VisualStudio2015上安装MS-MPI的这一特定步骤


任何帮助都将不胜感激。

使用非常量值自动调整数组大小实际上与gcc()配合使用。然而,这被认为是一个坏主意,因为(正如您刚刚经历的)您的代码将不再是可移植的。只需更改代码即可使用
new
创建数组。您可能需要生成一个错误,以确保您的代码是可移植的:

非常感谢您的输入。在谷歌搜索了几个小时后,终于得到了答案。