C++ NSMutableArray封装在C++;班
我正在从Qt COCOS2D移植到iOS COCOS2D,我使用ObjtoVC++作为最小的努力语言,现在我在C++类中包NStubabLeLee来移植,基本上这是我的班级 QList.hC++ NSMutableArray封装在C++;班,c++,objective-c,ios,qt,objective-c++,C++,Objective C,Ios,Qt,Objective C++,我正在从Qt COCOS2D移植到iOS COCOS2D,我使用ObjtoVC++作为最小的努力语言,现在我在C++类中包NStubabLeLee来移植,基本上这是我的班级 QList.h #ifndef QLIST_H #define QLIST_H #import <Foundation/Foundation.h> class QList { NSMutableArray* List; public: QList(); ~QList(); v
#ifndef QLIST_H
#define QLIST_H
#import <Foundation/Foundation.h>
class QList {
NSMutableArray* List;
public:
QList();
~QList();
void append(id);
id at (int i);
int size();
bool isEmpty();
id takeLast();
id last();
void prepend(id);
id takeAt(int i);
id takeFirst();
void clear();
};
#endif
我在这条线上收到EXC\u BAD\u信号
return [List count];
ai_unit.playerP = this;
有人能帮我吗,我非常感谢,提前谢谢:)这没问题,问题出在这一行
return [List count];
ai_unit.playerP = this;
我一直在评论它,直到后来我才能取消它的注释,它试图访问:)谢谢!,如果您对此代码有任何建议,请告诉我:P这没有问题,问题出在这一行ai_unit.playerP=this;我一直在评论它,直到后来我才能取消它的注释,它试图访问:)谢谢!,如果您对此代码有建议,请告诉我:PAdvice/警告:确保您的代码没有隐式复制
QList
对象,否则您可能会过度释放List
,而不调用复制构造函数中的retain。感谢您的建议,实际上,我还删除了析构函数方法~QList中的代码,因为它会导致问题,并添加了一个名为release的函数,在使用任何QList后,我会手动释放它,不,我不会复制,至少在这个应用程序中,我总是作为指针传递,如果我想复制,我使用for循环手动复制:)问题可能是您使用了autorelease
而不是release
。如果当您的QList
被销毁时没有自动释放池,那么这将导致问题。