私のmain.cppファイルにinitializeObjects()というメソッドがあり、それをScene.cppという名前の別のソースファイルのメソッドから呼び出す必要があります。それ、どうやったら出来るの? これは、ヘッダーのない私のmain.cppにファイル、次のとおりです。他のソースファイルからmain.cppの静的関数を呼び出す方法は?
static void initializeObjects();
int main() {
Scene myScene;
myScene.render(640,480);
return 0;
}
void initializeObjects(){
//Add a plane of gray color
Scene::shapes.push_back(std::make_shared<Plane>(Vector3D(0,1,1), Vector3D(0,0,80), COLOR_GRAY));
//Add two spheres
Scene::shapes.push_back(std::make_shared<Sphere>(100.0, Vector3D(0,50,0), COLOR_WHITE));
Scene::shapes.push_back(std::make_shared<Sphere>(60.0,ORIGIN, COLOR_RED));
}
関数 'static'にマークを付けると、他のソースファイルからアクセスできないように明示的にコンパイラに指示します。だからアクセス可能にしたい場合は 'static'を落としてください。 –