すいません初心者レベルの質問なのですがどこを捜しても載ってないので教えてください
この前、このような
コードをコンパイラ君に提出したのですがクラスメンバーを初期化できないとエラーを吐き出されました
構造体の中で数を代入したのがいけないのでしょうか?
それとポインタというものを覚えたのですが
どのサイトを見てもポインタに変数を代入?する方法しか載っておらず
どういったことにポインタを用いればいいのか分かりません
どんなときに使うかの例でもサイトでも構いませんので教えていただけませんか?
入門レベルの質問
Re: 入門レベルの質問
ポインタを使う例ですが、どのテキストでも必ずっていいほど使われているのが、
2つの変数の値を交換する関数 swap の例ではないでしょうか?
まずは、この辺から理解されるのがよろしいかと。
2つの変数の値を交換する関数 swap の例ではないでしょうか?
まずは、この辺から理解されるのがよろしいかと。
non
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: 入門レベルの質問
C言語だとして答えますが、
C言語でコンパイルすれば別のエラーが出ます。
構造体はあくまで構造の宣言であって実体の宣言では無いので値は代入できません。
といった感じで実体を宣言するときに初期値で与えてください。
それと呼び出した関数の先で中身を書き換えて欲しい場合はポインタで渡さないと出来ません。
エラーは、C++でコンパイルされた様ですね。フラッグ さんが書きました:コードをコンパイラ君に提出したのですがクラスメンバーを初期化できないとエラーを吐き出されました
構造体の中で数を代入したのがいけないのでしょうか?
C言語でコンパイルすれば別のエラーが出ます。
構造体はあくまで構造の宣言であって実体の宣言では無いので値は代入できません。
といった感じで実体を宣言するときに初期値で与えてください。
必然で言うと、文字列はポインタで無ければいけません。フラッグ さんが書きました: それとポインタというものを覚えたのですが
どのサイトを見てもポインタに変数を代入?する方法しか載っておらず
どういったことにポインタを用いればいいのか分かりません
どんなときに使うかの例でもサイトでも構いませんので教えていただけませんか?
それと呼び出した関数の先で中身を書き換えて欲しい場合はポインタで渡さないと出来ません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 入門レベルの質問
C++0xならそんなこともできるわけですが、現時点でこの機能に対応している処理系はなかったように思います。
下記を参照してください。フラッグ さんが書きました:それとポインタというものを覚えたのですが
どのサイトを見てもポインタに変数を代入?する方法しか載っておらず
どういったことにポインタを用いればいいのか分かりません
どんなときに使うかの例でもサイトでも構いませんので教えていただけませんか?
http://www.kijineko.co.jp/node/482
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: 入門レベルの質問
x,yは構造体testのメンバですので、実体であるtest2の値を参照する場合は、
LoadGraphScreen( test2.x , test2.y , "イラスト/戦闘機" , TRUE ) ;
と書かないといけません。
参考
↓
「構造体」
http://www9.plala.or.jp/sgwr-t/c/sec15.html
LoadGraphScreen( test2.x , test2.y , "イラスト/戦闘機" , TRUE ) ;
と書かないといけません。
参考
↓
「構造体」
http://www9.plala.or.jp/sgwr-t/c/sec15.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 入門レベルの質問
x,yが宣言されていません。かな?
testという構造体の中で宣言されているので、このコードでは
test2.x, test2.y
とするのがいいかとおもいます。
間違ってたらすいませんw
testという構造体の中で宣言されているので、このコードでは
test2.x, test2.y
とするのがいいかとおもいます。
間違ってたらすいませんw
最後に編集したユーザー Suikaba on 2011年4月25日(月) 23:09 [ 編集 1 回目 ]