2

スイッチがあります。ケースの 1 つは、配列の数でなければなりません。

    int count = [array count];
    switch (someValue) {
        case 0:
            [self foo];
            break;
        case count:
            [self bar];
            break;

        default:
            break;
    }

しかし、コンパイラは次のように述べています。

Expression is not an integer constant expression

[配列カウント]からconst intを作成するには?

4

2 に答える 2

2

エラーが示唆するように、ケースはすべて定数でなければなりません。if動的ケースをチェックするには、ステートメントが必要です。

    int count = [array count];
    switch (someValue) {
        case 0:
            [self foo];
            break;
        default:
            if (someValue == count)
                [self bar];
            break;
    }
于 2012-07-25T15:45:39.937 に答える
0
if(some value == 0) {
    [self foo];
} else if (someValue == [array count]) {
    [self bar]
}
于 2012-07-25T15:44:59.853 に答える