我正在摆弄 assimp 和 C++,我编写了一个简单的函数来从文件中加载场景。但是,当我尝试返回指针时,对象会变得混乱,如果我尝试检索成员数据,则会出现访问冲突。这个片段应该演示这种情况:
const aiScene* ResManager::loadScene(const std::string& pFile)
{
Assimp::Importer importer;
const aiScene* scene = importer.ReadFile(pFile, aiProcessPreset_TargetRealtime_MaxQuality);
if(!scene)
{
printf("%s\n", importer.GetErrorString());
return 0;
}
// If I break the debug here, 'scene' is valid
return scene;
}
void ResManager::loadFromFile(const std::string& pFile)
{
const aiScene* scn = loadScene(pFile);
// If I break the debug here, 'scn' contains gibberish
}
我想我在这里错过了一些关于指针和常量等的重要内容。有任何想法吗?