私は対物レンズCでブラックジャックを作ろうとしています。私のハンドクラスは、基本的にデッキを取り、カードをカードから取り出して配列に追加します。Objective Cは、キャストのないポインタからオブジェクトをargsとしてオブジェクトを渡します。
はここ関与ハンドメソッドです:
- (id)init : (Deck*) deck
{
[self draw: deck];
[self draw: deck];
return self;
}
- (void)draw: (Deck*)deck;
{
Card* C= [deck drawFromDeck];
[cards addObject: C];
}
ここでは、メインの問題の一部です:
Deck* deck=[[Deck alloc] init];
Hand* hand=[[Hand alloc] init: deck ];
ことの2行目がエラー「キャストせずにポインタから整数」を取得します。私がコードを実行するたびに、手札にはカードがありません。なぜなら、そこからデッキを引くことはできないからです(私は思う:))。デッキ*を違う方法で渡したりパースする必要がありますか? (コードを投稿する必要がある場合は、尋ねてください)
ありがとうございます!私は受け入れ答えはうまく説明されていると、この質問は、過去のための17の景色日の平均を得ていると信じていないが:を報奨金に関してD
編集1年半。 これはおそらく多くの人が多くの人がstackoverflowで持っている最初の経験であることを意味し、改良すればより良い立場になるだけでなく、多くの人の時間を節約できます。それは今、良い答えを持っていますが、私はそれができるだけ完璧であることを確認したいと思います。なぜなら、その人のうち何人がそれに従って問題を解決できるのか本当に分かっていないからです。
既存の回答を編集したり、独自の回答を追加したりしてください。 (Mods、これはコミュニティウィキのための良い候補者だと思いますか?)
このコードスニペットから警告を受け取ってはいけません。あなたは、メイン全体をこのポイントまでカット&ペーストすることはできますか? –
特にDeckとHandの@interfaceを見ていただければ幸いです。 –
私はinit:メソッドがインターフェイスで宣言されていないと思う。また、一般的な規約であるCrazyJugglerDrummerは、メソッド名に次の引数のラベルを含めることです:initWithDeck:(Deck *)deck – philsquared