ページ 11

クラス内で構造体宣言

Posted: 2010年9月15日(水) 15:10
by つつ#
クラス内で構造体を宣言することは可能なんですか??


どう作れば良いのですか?

Re:クラス内で構造体宣言

Posted: 2010年9月15日(水) 15:14
by へろりくしょん
実際に書いてみればいいですよ。 間違っていたらコンパイラが教えてくれます。
class HOGE{
private:
    struct BAA{
        int foo;
    }baa;
};

Re:クラス内で構造体宣言

Posted: 2010年9月15日(水) 15:20
by つつ
書くことには書いてるんですけどね....


実体をどこで作ればいいんですか???

public内で作れないんですけど..... 画像

Re:クラス内で構造体宣言

Posted: 2010年9月15日(水) 15:52
by ookami
「クラス内クラス C++」でググッたら以下。参考になりますでしょうか?
http://www.geocities.jp/ky_webid/cpp/language/030.html

Re:クラス内で構造体宣言

Posted: 2010年9月15日(水) 16:11
by つつ#
ookami >>: 今ひとつしっくりこなかったんですが。

今わこうゆう状態になってます。

private:
//変数
struct PLAYERSTATE {
double Player_x; // プレイヤー座標X
double Player_y; // プレイヤー座標Y
int Speed; //1ターンあたりの移動ドット数
int dir;
int JumpFlag; // ジャンプフラグ
int JumpPower; // ジャンプパワー
int animation; // アニメーション
int CharaGraph[10][10]; // プレイヤー画像ハンドル
};
PLAYERSTATE PLS;

public:
}

構造体の実体をどこで宣言すれば良いのか分からない状態です.

Re:クラス内で構造体宣言

Posted: 2010年9月15日(水) 16:38
by ookami
構造体の実体は、
PLAYERSTATE PLS;
で、宣言されていると思いますよ?

そのクラスを使っている側のソースとか、
現状、どんな問題があるか、
もうちょい詳しく教えてもらっていいですか?

Re:クラス内で構造体宣言

Posted: 2010年9月15日(水) 16:44
by つつ#
宣言場所は間違ってないみたいですね。


なんか急に使えるようになりました。 画像

Re:クラス内で構造体宣言

Posted: 2010年9月15日(水) 16:48
by ookami
> public内で宣言したPLSを使おうとすると

その時のソースと、

> PLS.が正しく使われていないと言われて

というのは、コンパイルエラーだと思いますので、
それぞれ貼ってもらっていいですか?

上で示されているソースは、PLSはprivateで宣言されています。

-- 追記

編集で解決になったようですねw

後で見た人が 参考になると思いますので、
結局何が問題だったのか、書いてもらえると助かります。 画像