目标c/c++;:将NSArray值分配到c+;时出错+;静态阵列 当我将NSalpSt值赋值到C++静态数组中时,它将给我“没有生存过载”=“错误”。这是我的密码:

目标c/c++;:将NSArray值分配到c+;时出错+;静态阵列 当我将NSalpSt值赋值到C++静态数组中时,它将给我“没有生存过载”=“错误”。这是我的密码:,c++,objective-c,macos,cocoa,C++,Objective C,Macos,Cocoa,首先,我宣布 static std::string usbInfors[ARRAY_ROW]; // save usb infor 然后,我加入了字符串头,并将文件更改为.mm NSMutableArray *saveElement = [NSMutableArray new]; int countOfUSB = 0; //count of usb drive .... //collected data and put into saveElement arr

首先,我宣布

    static std::string usbInfors[ARRAY_ROW]; // save usb infor
然后,我加入了字符串头,并将文件更改为.mm

    NSMutableArray *saveElement = [NSMutableArray new];
    int countOfUSB = 0; //count of usb drive

    .... //collected data and put into saveElement array

    NSArray *arrayOfUSBInfor = [NSArray arrayWithArray:saveElement];
    [saveElement dealloc];
    countOfUSB = [arrayOfUSBInfor count];
    for(int i=0; i< countOfUSB; i++){
        usbInfors[i] = [arrayOfUSBInfor objectAtIndex:i];//This line gives me error
    }
NSMutableArray*saveElement=[NSMutableArray new];
int countOfUSB=0//usb驱动器的计数
.... //收集数据并放入saveElement数组
NSArray*ArrayFusbinFor=[NSArray arrayWithArray:saveElement];
[saveElement dealoc];
countOfUSB=[ArrayOfusBinforCount];
for(int i=0;i

谢谢

假设
arrayOfUSBInfor
是一个
NSString
对象数组,您需要:

for(int i=0; i< countOfUSB; i++){
    usbInfors[i] = [[arrayOfUSBInfor objectAtIndex:i] UTF8String];
    //                                                ^^^^^^^^^^
}
也许你的意思是:

[saveElement release];

你需要复习C、C++和Objul-C,这里有很多问题…
[saveElement release];