gpt4 book ai didi

c++ - 无法在赋值中将 'int*' 转换为 'card*'

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

您好,我在类似的方法中遇到了一些相同的错误:

void Hand::addCard(card* card)
{
if(Cards==NULL)
{
Cards=new card[1];
Cards[0]=*card;
return ;
}
int size=sizeof(Cards)/sizeof(card);

card* d = new card[size];
for(int i = 0;i<size;i++)
d[i]=Cards[i];
delete []Cards;
Cards = new card[size+1];
for(int i=0;i<size;i++)
Cards[i] = d[i];
Cards[size]= *card;
delete []d;
}

在这段代码中,错误显示:

expected type-specifier before 'card'
cannot convert 'int*' to 'card*' in assignment
expected ';' before 'card'
'd' was not declared in this scope

所有错误都出现在类似的代码中,例如:

Cards=new card[1];
card* d = new card[size];
Cards = new card[size+1];

在这些行中。

同样在 delete []d; 中,还有一个错误:

type '<type error>' argument given to 'delete', expected pointer

Cardsheader中的card* Cards,那个方法是

public: void addCard(card*);

card 也是class card{...}

其他的cpp和header我都做好了(没有报错)

所以我认为它与其他类无关。

请给我任何好的想法或建议。

谢谢大家!

最佳答案

void Hand::addCard(card* card)

您将 card 类型的名称与名为 cardcard* 实例的名称隐藏在一起。使用不同的名称:

void Hand::addCard(card* foo)

关于c++ - 无法在赋值中将 'int*' 转换为 'card*',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23171225/

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