gpt4 book ai didi

c++ - 我很困惑为什么我的 fillDeck 函数说, "assigning to ' char *' from incompatible type ' const char *”

转载 作者:行者123 更新时间:2023-11-30 01:44:19 24 4
gpt4 key购买 nike

当我尝试用面值和花色的纸牌结构填充我的牌组时,出现上述错误。有人对我做错了什么有什么建议吗?

#include <iostream>
#include <cstdlib>
#include <ctime>
#define CARDS 52
#define FACES 13
#define SUITS 4
using namespace std;

typedef struct card
{
char * face;
char * suit;
}Card;
void fillDeck(Card * const wDeck, const char *wFace[], const char *wSuit[]);
void shuffle(Card * const wDeck);
void deal(const Card * const wDeck);

int main(void)
{
Card deck [CARDS];
const char * face[] = {"Ace", "Two", "Three", "Four", "Five",
"Six", "Seven", "Eight", "Nine", "Ten",
"Jack", "Queen", "King"};
const char * suit[] = {"Hearts", "Diamonds", "Clubs", "Spades"};
srand(time(NULL));
fillDeck(deck, face, suit);
shuffle(deck);
deal(deck);
}
void fillDeck(Card * wDeck, const char * wFace[], const char * wSuit[])
{
int i;
for (i = 0; i< CARDS; i++)
{
wDeck[i].face = wFace[i % FACES];
wDeck[i].suit = wSuit[i / FACES];
}
}

最佳答案

wDeck[i].face = wFace[i % FACES];

突击测试:

问:什么是wDeck

答:这是一个Card类实例。

问:它的“面子”成员是什么?

答:这是一个char *

问:WFace 数组中有什么?

A: const char *s.

问:为什么在 C++ 中,不能将指针分配给常量对象,分配给指向可变(非常量)对象的指针?

A:因为常量对象是常量。但是,如果您有一个指向它的指针,并且将该指针复制到一个不同的可变指针,这意味着您可以使用不同的可变指针修改常量值。

现在,你现在试着回答你自己的问题怎么样?

关于c++ - 我很困惑为什么我的 fillDeck 函数说, "assigning to ' char *' from incompatible type ' const char *”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36440546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com