Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ NSMutableArray封装在C++;班_C++_Objective C_Ios_Qt_Objective C++ - Fatal编程技术网

C++ NSMutableArray封装在C++;班

C++ 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

我正在从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();
    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
被销毁时没有自动释放池,那么这将导致问题。