1340011920 Objective-Cのコードでコンパイルエラーが出ます。添付の図のようなエラーメッセージなのですが何が何だか・・・


ひょっとしてSTONEという定数を定義するのがうまくいってないのでしょうか。定数はConst.hというファイルに記述し、使用する実装ファイルで#importしています。

よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/06/18 20:02:25
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.2

回答回数4974ベストアンサー獲得回数2154

ポイント80pt

こういうふうに書きます。

// Const.h
extern NSInteger const STONE;
extern NSInteger const SCISSORS;
extern NSInteger const PAPER;

この Const.h を STONE などを使いたいソースで #import。

// Const.m
NSInteger const STONE = 0;
NSInteger const SCISSORS = 1;
NSInteger const PAPER = 2;

STONE の実体(値)を定義するソースをひとつ作ります。
この Const.m も、コンパイル&リンクの対象にします。

id:weed_7777

神降臨ですね。バッチリ動きました。ありがとうございました。

2012/06/18 20:01:55

その他の回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント20pt

STONEなど重複して定義してないか 確認してみてください。

他4件のコメントを見る
id:taknt

インポートしているのは Const.hだけですか?

2012/06/18 19:30:08
id:weed_7777

すいません、解決いたしました。アドバイス有難うございました。

2012/06/18 20:22:16
id:a-kuma3 No.2

回答回数4974ベストアンサー獲得回数2154ここでベストアンサー

ポイント80pt

こういうふうに書きます。

// Const.h
extern NSInteger const STONE;
extern NSInteger const SCISSORS;
extern NSInteger const PAPER;

この Const.h を STONE などを使いたいソースで #import。

// Const.m
NSInteger const STONE = 0;
NSInteger const SCISSORS = 1;
NSInteger const PAPER = 2;

STONE の実体(値)を定義するソースをひとつ作ります。
この Const.m も、コンパイル&リンクの対象にします。

id:weed_7777

神降臨ですね。バッチリ動きました。ありがとうございました。

2012/06/18 20:01:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません