2

最新の SDK を使用して iOS 5.0 以降のアプリを開発しています。

C++ 関数で使用するため、この方法でプライベート 2D 配列の初期化を宣言する必要があります。

@implementation MyClass

int myArray[NSFirstDim][NSSecondDim] = 0; <-- Error here

...

- (id)init
{
...
}

...
@end

しかし、次のメッセージが表示されるため、この方法で 0 に初期化することはできません。

Array initializer must be an initializer list

すべての値をゼロに初期化するにはどうすればよいですか?

または、2D動的配列を使用できます...

4

5 に答える 5

7

使用する

int myArray[NSFirstDim][NSSecondDim] = {0};

これは C の強力な動作であり、startと rest (その他) の値を追加すると 0 に初期化されます。

このサンプル コードでは、

int arr[4][3]={1,2,3};

for (int i=0; i<4; i++) {
    for (int j=0; j<3; j++) {
        NSLog(@"%d",arr[i][j]);
    }
}

出力: 1,2,3,0,0,0,....

于 2013-04-29T09:22:47.463 に答える
6
int myArray[NSFirstDim][NSSecondDim] = {0};
于 2013-04-29T09:24:18.017 に答える