したがって、オブジェクトがメインクラス内の関数を使用できるようにする必要があるため、オブジェクトが作成されたときに、パラメーターを介してオブジェクトを取得する必要があります。
int main(int argc, char* args[])
{
Unit units[3]={{5,5,this},{8,8,this},{12,12,this}};
units[0].init(true);
for (int i=1;i<sizeof(units) / sizeof(units[0]);i++) {
units[i].init(false);
}
私が「これ」を置くところ、それはメインクラスであるべきです、これは私がJavaでそれをする方法ですが、私はここでそれをする方法がわかりません。「*this」と「this」を試しましたが、エラーが発生するだけです。非メンバー関数での「this」の使用が無効です。エラーを検索しても、c ++のクラスシステムについてはかなり知らないので、何も処理できませんでした。
最初の2つのパラメーターは、場所用です。Initコマンドパラメータは、それらが味方であるかどうかを設定します。
Unitクラスがアクセスできるようにしたい:
int getClosestHostileX(int ask_x,int ask_y,bool team) {
return 55;
}
後でここにもっと多くのコードがあるはずです。私はそれらを返してもらうことを試みています。
Code ::BlocksIDEとGNUGCCコンパイラを使用しています。
TL; DR他のクラスにメインクラスの関数にアクセスさせるにはどうすればよいですか?