プレイヤーの手であるクラスを作ろうとしています(例:カードゲーム)。drawメソッドは別のカードを描画し、showHandメソッドは現在のカードを手札に表示する必要があります。コンストラクターでポインターの配列を初期化しようとしましたが、これを行う方法がわかりません(これが私の問題の原因であると私は信じています)。今コメントアウトされたこれを試してみてください->jon= {}; このエラーが発生します:「エラー:''を'カード*[12]'に割り当てる際に互換性のないタイプ」
***現在、showHandにいるときに、jon [i]-> getRank()をカウトしようとすると、ナンセンスの束がポップアップします。ただし、Drawメソッドは完全に機能します。
class myHand{
public:
myHand(){
this->size=0;
//this->jon={};
}
void Draw(Card anyCard) {
if(size>11) {
cout<<"You can only have a maximum of 12 cards in your hand at a time"<<endl;
return;
}
jon[size]=&anyCard;
cout<<"HERE IS ANYCRD:"<<jon[size]->getRank()<<jon[size]->getSuit()<<endl;
size++;
}
void showHand() {
//DOESNT WORK HERE
}
void Place(Card* anyCard) {
}
private:
int size;
Card* jon[12];
};