[英]C++ Builder bccarm error when calling std::vector::push_back with TObject descendant
[英]Android, native app can't start when I use std::vector::push_back()
我需要在本機應用程序(它是cocos-2dx框架)中使用向量容器,因此,我添加了
APP_STL:= stlport_static
然后到Application.mk
#include <vector>
在使用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插件一起使用)
將不勝感激任何幫助或建議,謝謝。
在使用m_vertexAnchors
之前,您必須正確地初始化它:
m_VertexAnchors = new std::vector<cocos2d::CCPoint*>();
您必須記住在不再需要時delete
其delete
。
如果可以避免動態分配vector
則將其聲明為:
std::vector<cocos2d::CCPoint*> m_VertexAnchors;
並使用它:
m_VertexAnchors.push_back(point);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.