从指针到对象的转换

Transitioning from Pointer to object?

本文关键字:转换 对象 指针      更新时间:2023-10-16

这是我的程序中的一个快速代码片段(从上下文中取出,但应该对问题很好)

Card::Card(int value, char suit)
{
    value = value;
    suit = suit;
}
Card cards[52];
Card c = new Card(RANKS[i],SUITS[j]);
cards[size] = c;

这里我得到了一个错误因为new Card(x,y)返回一个指向纸牌的指针所以它应该是

Card* c = new Card(RANKS[i],SUITS[j]);

如果我想以一个card对象结束,我该怎么做?在我的印象中,我可以使用地址操作符来完成这个操作[size] = &c;

但是编译器似乎不喜欢这样。有人能帮我吗?应该是相当直接的,不幸的是我对我的C/c++有点生疏。

谢谢!

如果我想以一个card对象结束,我该怎么做?

使用:

int cardIndex = <some card index>
cards[cardIndex] = Card(RANKS[i],SUITS[j]);;