Compilerfehler C2540

Kein konstanter Ausdruck als Arraygrenze

Ein Array muss durch Konstanten begrenzt sein.

Im folgenden Beispiel wird C2540 generiert:

// C2540.cpp
void func(int n, int pC[]) {
   int i = ((int [n])pC)[1];   // C2540
}

void func2(int n, int pC[]) {
   int i = (pC)[1];   // OK
}

int main() {
   int pC[100];
   func(100, pC);
   func2(100, pC);
}