モジュール間の構造体の受け渡し
Posted: 2012年6月16日(土) 03:07
初めまして、早速ですが質問させてもらいます。
現在龍神録プログラミングの館を一通り終えて、
新・ゲームプログラミングの館のゲームプログラミング設計に沿って内容を1章からやっているのですが、
8章キーコンフィングに対応させようでモジュール間の構造体データを渡す方法がわからずに困っています。
具体的には
key.cppで定義したconfigpadを
ch.cppのcalc_ch内CheckStatePadに渡してやりたいです。
http://dixq.net/g/d_05.html
ここを見てポインタで渡してやらないといけないというのはわかるのですが、
メインからcalc.cpp内calc_mainを呼び出してcalc_mainからcalc_chを呼び出す構造にしているので、
メインにconfigpad_t configpad;を定義してポインタでchとKeyに渡すのかな?と考え、
上記のポインタ記述を参考に
とメイン関数を変更し、
calc.cppを変更してみましたが、ポインタがうまく渡せて無いようで
error C2660: 'calc_main' : 関数に 1 個の引数を指定できません。
とエラーコードが出て私の知識では完全に手詰まり状態です・・・
どうかアドバイスのほうをお願いしますm(_ _)m
知識はC言語の入門書を学習し終えたレベル。
ポインタに関しては配列までしか扱ったことがなく、構造体がどう扱われるのか理解してないです。
環境は OS:Windows7 HomePremium 32bit
コンパイラ:VC++2008 EE です。
現在龍神録プログラミングの館を一通り終えて、
新・ゲームプログラミングの館のゲームプログラミング設計に沿って内容を1章からやっているのですが、
8章キーコンフィングに対応させようでモジュール間の構造体データを渡す方法がわからずに困っています。
具体的には
#include "../../../include/Dxlib.h"
#include "../include/define.h"
#include "../include/struct.h"
unsigned int stateKey[256];
configpad_t configpad;
------途中省略-------
int CheckStatePad(unsigned int Handle){
if(0<=Handle && Handle<PAD_MAX){
return pad.key[Handle];
}
else{
printfDx("CheckStatePadに渡した値が不正です\n");
return -1;
}
}
#include "../../../include/Dxlib.h"
#include "../include/struct.h"
#include "../include/define.h"
#include "../include/key.h"
-------途中省略---------
void calc_ch(){
ch.cnt++;
ch.img=(ch.cnt%24)/6;
if(CheckStatePad(configpad.left)>0)//左が押されていたら
ch.x-=3;//座標を左に
if(CheckStatePad(configpad.right)>0)//右が押されていたら
ch.x+=3;//座標を右に
}
------以下省略--------
http://dixq.net/g/d_05.html
ここを見てポインタで渡してやらないといけないというのはわかるのですが、
メインからcalc.cpp内calc_mainを呼び出してcalc_mainからcalc_chを呼び出す構造にしているので、
メインにconfigpad_t configpad;を定義してポインタでchとKeyに渡すのかな?と考え、
上記のポインタ記述を参考に
#include "../../../include/Dxlib.h"
#include "../include/key.h"
#include "../include/load.h"
#include "../include/graph.h"
#include "../include/ini.h"
#include "../include/calc.h"
#include "../include/struct.h"
configpad_t configpad;
---途中省略----
calc_main(&configpad);
---以下省略----
#include "../../../include/Dxlib.h"
#include "../include/char.h"
void calc_main(configpad_t *configpad){
calc_ch(&configpad);
}
error C2660: 'calc_main' : 関数に 1 個の引数を指定できません。
とエラーコードが出て私の知識では完全に手詰まり状態です・・・
どうかアドバイスのほうをお願いしますm(_ _)m
知識はC言語の入門書を学習し終えたレベル。
ポインタに関しては配列までしか扱ったことがなく、構造体がどう扱われるのか理解してないです。
環境は OS:Windows7 HomePremium 32bit
コンパイラ:VC++2008 EE です。