ページ 11

構造体の中の構造体はどうやって呼び出せばよいのでしょう…?

Posted: 2013年2月12日(火) 21:50
by HI魔神
身の丈を顧みず3Dゲームに挑戦し、情けなくもこんなつまらない(と思われる)場所で分からなくなってしまいました。

コード:

struct Player{
         VECTER zahyou;
         int handle;
    }

Player player;

player zahyou = VGet( 0.00f, 0.00f, 0.00f )//ここでエラー発生
このような構造体を定義し、handleは呼び出すことができました。
しかしVECTER型構造体zahyouは呼び出す方法がわかりません。
試しに上のように呼び出そうとしましたがエラーが発生しました。
どのように呼び出せばよいのでしょう?

Re: 構造体の中の構造体はどうやって呼び出せばよいのでしょう…?

Posted: 2013年2月12日(火) 22:01
by h2so5
int型のメンバへのアクセスなどと同じです。

コード:

player.zahyou = VGet( 0.00f, 0.00f, 0.00f );

Re: 構造体の中の構造体はどうやって呼び出せばよいのでしょう…?

Posted: 2013年2月13日(水) 07:03
by HI魔神
とりあえずすべてうつしてみます。

コード:

#include "DxLib.h"

struct Camera{
 VECTOR point;
 float yoko;
 float tate;
 float hineri;
};

Camera camera;

camera.tate = 0 ;//ここと
camera.point = VGet( 0.00f, 0.00f, 0.00f);//ここ
このようにして定義したのですが、上記のエラーの部分に
”この宣言にはストレージ クラスまたは型指定子がありません”
というエラーが出ます。

使っているコンパイラはMicrosoft Visual Studioの2012版です。

Re: 構造体の中の構造体はどうやって呼び出せばよいのでしょう…?

Posted: 2013年2月13日(水) 07:48
by beatle
代入命令は何かの関数の内側でないと実行できませんので、12と13行目を関数の外側(グローバル領域)に書いているとすれば間違いです。

Re: 構造体の中の構造体はどうやって呼び出せばよいのでしょう…?

Posted: 2013年2月13日(水) 17:27
by HI魔神
ありがとうございます。
そしてこんなことでお世話をかけてごめんなさい。