使っている開発環境が紹介されているものと違うので申し訳ないのですが、
GCC( MinGW ) + SDL + C++ で開発をしているのですが、構造体へのポインタと引数を渡して関数
内で構造体のメンバの値を書き換えるという関数を作っていたのですが、一つのデータが別のデータに
書き換えられるという現象が起こってしまいうまく動作しません。形式は以下のような感じです(かなり省略してあります)。
typedef struct sBullet
{
float x,y,vx,vy,ax,ay;
}Bullet;
void Func( Bullet *i, float ix, float iy, float ivx, float ivy, float iax, float iay )
{
i->x = ix; i->y = iy;
i->vx = ivx; i->vy = ivy;
i->ax = iax; i->ay = iay;
return;
}
ここで、 のようにコードを書くと実際の実行結果において のようになってしまいます。これはなぜ起こるのでしょうか?
チェックしてみましたが としているような間違いはありませんでした。
この関数を通さずに値を構造体に直接入力するときちんと入ります。
さらに関数のなかで定数を構造体に入力してもきちんと入ります。
関数に引数を渡すときになにか問題があるように思えますが。。。
メモリ不足かなにかでしょうか?それとも他に原因があるのでしょうか?
お願いします。