class UNIT{
public:
void CreateUnit(){
//処理
}
};
void func();//プロトタイプ宣言
void main(){
UNIT* unit = new UNIT;
void func();
}
void func(){
};
①void func(UNIT* unit)と定義し、引数として&unitアドレスを渡してやる
②unitインスタンスをグローバル宣言する
以外の方法でインスタンスにアクセスする方法は無いでしょうか?
以上のコードは実際のものをかなり簡略化しているもので、実際のコードは大分階層が深くなっているため、ここで言うfunc()関数に至るまで全ての関数にポインタを渡してやると管理し難くなってしまいます。グローバルのインスタンスや変数はまるで悪者かのように言うサイトもあるのでやや使用に抵抗があります。