0

只是我想问一下如何将数组大小传递给 throw 函数来设置我的游戏记录的大小这是我不使用矢量的唯一原因,因为我会将这个记录基于 PMI lib 并且它不支持 C++ 约束,因为它是用C 这就是我使用数组的原因

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;


}
4

2 回答 2

2

C++ 不支持 C.99 中可用的可变长度数组功能。但是,C++ 提供std::vector<>了同样易于使用的功能,有些人可能会说更安全。

    std::vector<int> gameRecored(arrsize, 0);

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

于 2013-09-30T02:45:10.013 回答
0

您不能不定义大小为 VARIABLE 的数组。如果你想要一个动态大小,你应该使用 operator new,就像这样:

int mysize = 10;
int* array = new int[mysize];

变量 mysize 可以是动态数字,例如函数参数。如果你的数组永远不会改变它的大小,你可以使用:

int array[10];

请记住,如果您使用 operator new,则必须在不需要时使用 operator delete 删除您的数组。

霍普可以帮助你。

于 2013-09-30T02:46:09.583 回答