我对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错误.有关如何正确执行此操作的任何指示?