1

NSArray 値を C++ 静的配列に代入すると、「No viable overloaded '='」エラーが発生します。ここに私のコードがあります:

はじめに宣言します

    static std::string usbInfors[ARRAY_ROW]; // save usb infor

次に、String ヘッダーをインクルードし、ファイルを .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
    }

ありがとう !!

4

1 に答える 1

3

arrayOfUSBInforそれがオブジェクトの配列であると仮定すると、次のNSStringものが必要になります。

for(int i=0; i< countOfUSB; i++){
    usbInfors[i] = [[arrayOfUSBInfor objectAtIndex:i] UTF8String];
    //                                                ^^^^^^^^^^
}

ではなくに割り当てるconst char *ためです。std::stringNSString *

また、これは疑わしいようです:

[saveElement dealloc];

おそらくあなたは次のことを意味しました:

[saveElement release];
于 2013-07-03T13:34:16.903 に答える