この const ポインターを返す際に問題が発生しました。デバッガーを使用すると、シーンが正しくインポートされ、変数シーンに保存されていることがわかりました。シーンを返した後、シーンが指すコンテンツは失われ、loadData() を呼び出すクラスからアクセスできなくなります。
const aiScene* IOHandler::loadData(const std::string& pFile){
Assimp::Importer importer;
const aiScene* scene = importer.ReadFile(pFile,
aiProcess_CalcTangentSpace |
aiProcess_Triangulate |
aiProcess_JoinIdenticalVertices |
aiProcess_SortByPType);
return scene;
}
(Importer
とaiScene(struct)
は assimp ライブラリの一部であり、変更できません)
シーンがスタックに格納されていると仮定し、リターン コールによってスタック ポインタがリセットされ、コンテンツが失われます。C ++でこのような問題を処理するにはどうすればよいですか?