Heim >Backend-Entwicklung >C++ >„Warum verursacht die Deklaration eines Arrays mit einer laufzeitbestimmten Größe den Fehler „Erwarteter konstanter Ausdruck'?
Fehler: „Erwarteter konstanter Ausdruck“ für Array-Größe
Beim Versuch, ein Array mit einer laufzeitbestimmten Größe zu deklarieren, wie im Folgender Codeausschnitt:
<code class="cpp">int size = 100; float x[size][2];</code>
Möglicherweise tritt der Fehler „Erwarteter konstanter Ausdruck“ auf. Dieser Fehler tritt auf, weil die Größe deklarierter Arrays zur Kompilierungszeit bestimmt werden muss.
Lösung: Verwenden Sie eine Vektor- oder dynamische Array-Zuordnung
Um dieses Problem zu beheben, sollten Sie die Verwendung von a in Betracht ziehen Vektor- oder dynamische Array-Zuordnung. Mithilfe eines Vektors können Sie die Größe zur Laufzeit angeben:
<code class="cpp">std::vector< std::array<float, 2> > x(size);</code>
Alternativ können Sie den neuen Operator verwenden, um das Array dynamisch zuzuweisen:
<code class="cpp">float (*px)[2] = new float[size][2];</code>
Weitere Optionen:
Das obige ist der detaillierte Inhalt von„Warum verursacht die Deklaration eines Arrays mit einer laufzeitbestimmten Größe den Fehler „Erwarteter konstanter Ausdruck'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!