0


我需要在我的本机应用程序中使用矢量容器(它是 cocos-2dx 框架)所以,我添加了

APP_STL := stlport_static

Application.mk 然后

#include <vector>

在使用向量的类的头文件中将变量定义为

std::vector<cocos2d::CCPoint*> *m_VertexAnchors;

然后这样做

m_VertexAnchors->push_back(point);

point这实际上是CCPoint* point 当我运行我的应用程序时,我只看到黑屏,而不是在 2-3 秒后消失,没有任何消息。logcat 中的最后一条消息是(按应用程序名称和详细级别过滤)

04-01 13:22:57.068: D/dalvikvm(2939): GC_EXTERNAL_ALLOC 释放 64K,47% 释放 2887K/5379K,外部 0K/0K,暂停 40ms

并且在有关加载库的消息之前没有错误。而且我在主日志中没有看到任何奇怪的东西。然后当我注释掉

m_VertexAnchors->push_back(point);

该应用程序运行良好。

那么,有什么我错过的吗,如果没有,我该如何调试(我使用 Eclipse 和 sequoyah 插件)

将不胜感激任何帮助或建议,谢谢。

4

1 回答 1

0

使用前m_vertexAnchors必须正确初始化:

m_VertexAnchors = new std::vector<cocos2d::CCPoint*>();

delete不再需要时,您必须记住它。

如果可以避免动态分配,vector则将其声明为:

std::vector<cocos2d::CCPoint*> m_VertexAnchors;

并使用它:

m_VertexAnchors.push_back(point);
于 2012-04-01T12:01:52.603 回答