C ++ const struct указатель недоступен - PullRequest
1 голос
/ 09 августа 2011

В классе объявлено const struct aiScene *scene;.

В функции, в которой я определяю scene = importer.ReadFile(file, aiProcess_Triangulate);, доступна структура сцены.Например, я могу распечатать scene->mNumMeshes.

Проблема в том, что сцена не доступна из других функций.Если я пытаюсь распечатать scene->mNumMeshes, то он каждый раз печатает разные числа (адреса памяти?).

Как сделать сцену доступной для каждой функции в классе?

1 Ответ

2 голосов
/ 09 августа 2011

Невозможно быть уверенным, не зная, что находится в importer.ReadFile, но хорошее предположение состоит в том, что importer.ReadFile возвращает указатель на структуру в стеке.После того, как она вернется, структура будет быстро перезаписана другими данными - в вашем первом эксперименте вам, возможно, просто повезло получить ее до того, как что-либо еще использовало это местоположение.

Убедитесь, что ReadFile возвращаетструктура, выделенная кучей, а не локальная.

...