相关疑难解决方法(0)

C++ Array Shuffle

我对C++很新,并且不太了解带有指针和引用的函数参数.我有一系列卡片,我想使用Fisher-Yates shuffle进行洗牌.甲板被宣布为

Card *deck[deckSize];
Run Code Online (Sandbox Code Playgroud)

其中deckSize已声明为24.然后初始化该数组.然后我调用shuffle函数:

void shuffle (Card * deck[]) {
    int deckSize = 24;
    while (deckSize > 1) {
       long int k = lrand48();
       k = k %24;
       deckSize--;
       Card * temp = deck[deckSize];
       deck[deckSize] = deck[k];
       deck[k] = temp;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我在调用shuffle函数后尝试打印卡的值,则会出现seg错误.有关如何正确执行此操作的任何指示?

c++ arrays pointers

1
推荐指数
2
解决办法
1万
查看次数

标签 统计

arrays ×1

c++ ×1

pointers ×1