1人でゲームが作れるように修行します。2 (487レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
90
(2): 名前は開発中のものです。 [sage] 2010/09/17(金) 22:40:10 ID:pd/LBTti(2/2) AAS
上の補足

コンストラクタを定義していなければ、
オブジェクト.構造体変数名 = {848,544,0};
のような代入もできる。
91
(1): 名前は開発中のものです。 [sage] 2010/09/17(金) 23:57:56 ID:iQtTD6+I(1) AAS
>>90
それは初期化時のみじゃない?

struct vector{
int x,y,z;
};

void main(){
vector a = { 1,2,3 }; //ok
a = { 4,5,6 }; //エラー
}
92
(2): SGGK ◆6pZCoAtaxk [sage] 2010/09/18(土) 01:00:44 ID:wU0YURT9(1) AAS
ありがとうございます。今日は調べるだけで終了でした…。
>>88
88(1): 名前は開発中のものです。 [sage] 2010/09/17(金) 02:15:46 ID:zNJRouQ+(1) AAS
>>87
見方を変えると「Cの構造体に関数も書けるようにしたものがC++の構造体」とも言えると思う
Cの構造体で出来ることはC++でもそっくりそのまま書けると思うんだけどね

>自分の気付かない理由で上手くいってない感じ。
バグに関して絶対こうだとは言えないが、CとC++の違いが原因ではないような気がするなー
たしかにバグの原因がCとC++の違いだと思い込んでしまうと他の原因の可能性を見落としやすくなりそうなので気をつけます。
>>89
89(1): 名前は開発中のものです。 [sage] 2010/09/17(金) 22:28:19 ID:pd/LBTti(1/2) AAS
>>87

x、y、zを初期化するコンストラクタを定義されていれば
オブジェクト.構造体変数名 = クラス名(848,544,0);
のような代入ができる。

もしくは、構造体変数をセットするメンバ関数を定義してもいいかも。
今のソースではベクトル関係がクラスでなく構造体で表現されていてコンストラクタについてはまだ考えてませんでした。
バグが結局取り切れなかった場合、勉強しなおしてベクトル関係もクラス化する最終手段に挑戦してみようと思います。
>>90
コンストラクタの定義はしてないのですが、何故かエラーになってしまうので、
今は以下に書くとりあえず的なやり方でエラーを回避してます。
>>91
「構造体の初期化」で検索したところ、とあるサイトにそのような感じの
「構造体変数の初期化は、変数の宣言時には常に行うことが出来る点に注意しよう。」とあり、これを参考に以下のようにしてます。

ベクトル関係のヘッダファイルで
struct Vector3{float x,y,z;};

あるオブジェクトの初期化用関数の内部では昨日のやり方から少し変更して、

Vector3 a1={848,544,0};
fp.xy(←これは昨日書いていたオブジェクト.構造体変数名の事)=a1;

と書いてもバグが出ないのでこれでやってみようと思います。
今日は調べただけなので、バグは減ってないけど、全部取れるまで頑張ってみます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s