如何将数组大小传递给C++; 我想问一下,我如何通过数组大小来将函数设置为我的游戏记录器的设置大小?唯一的原因是我不使用向量,因为我会把这个记录的基础放在PMI LIB上,它不支持C++的约束,因为它是用C写的,这就是为什么我使用数组< /P> void playGame(int max_streak_length) { int tracker =0 ; const int arrsize = max_streak_length; int gameRecored[arrsize]={0}; while( tracker < 4) { Craps games; if( games.Play()== true) { tracker++; } else if(tracker >0) { gameRecored[tracker-1]++; tracker = 0; } } gameRecored[tracker-1]++; int v= 0; } void游戏(int max_streak_length) { int-tracker=0; 常数int arrsize=最大条纹长度; int gameRecored[arrsize]={0}; while(跟踪器0) { gameRecored[tracker-1]++; 跟踪器=0; } } gameRecored[tracker-1]++; int v=0; }

如何将数组大小传递给C++; 我想问一下,我如何通过数组大小来将函数设置为我的游戏记录器的设置大小?唯一的原因是我不使用向量,因为我会把这个记录的基础放在PMI LIB上,它不支持C++的约束,因为它是用C写的,这就是为什么我使用数组< /P> void playGame(int max_streak_length) { int tracker =0 ; const int arrsize = max_streak_length; int gameRecored[arrsize]={0}; while( tracker < 4) { Craps games; if( games.Play()== true) { tracker++; } else if(tracker >0) { gameRecored[tracker-1]++; tracker = 0; } } gameRecored[tracker-1]++; int v= 0; } void游戏(int max_streak_length) { int-tracker=0; 常数int arrsize=最大条纹长度; int gameRecored[arrsize]={0}; while(跟踪器0) { gameRecored[tracker-1]++; 跟踪器=0; } } gameRecored[tracker-1]++; int v=0; },c++,arrays,C++,Arrays,C++不支持C.99中提供的可变长度数组功能。然而,C++提供了代码> STD::vector ,它使用起来很简单,有些可以说更安全。 std::vector<int> gameRecored(arrsize, 0); std::vector gameRecored(arrsize,0); 您可以像在当前代码中一样使用gameRecored作为数组,当函数调用返回时,它会自动清理。您不能定义大小为变量的数组。如果需要动态大小,应使用运算符new,如下所示: int mys

C++不支持C.99中提供的可变长度数组功能。然而,C++提供了<>代码> STD::vector ,它使用起来很简单,有些可以说更安全。
    std::vector<int> gameRecored(arrsize, 0);
std::vector gameRecored(arrsize,0);

您可以像在当前代码中一样使用
gameRecored
作为数组,当函数调用返回时,它会自动清理。

您不能定义大小为变量的数组。如果需要动态大小,应使用运算符new,如下所示:

int mysize = 10;
int* array = new int[mysize];
变量mysize可以是动态数字,例如函数参数。 如果阵列永远不会更改其大小,则可以使用:

int array[10];
请记住,如果使用运算符new,则在不需要阵列时必须使用运算符delete来删除阵列


Hop可以帮助您。

制作动态数组,还是使用向量?使用模板函数?这是C++。你为什么不使用
std::vector
?我怎样才能把它们都填满呢?正如@paddy在我之前所说的,使用
std::vector
甚至比使用
new
创建动态数组更好。