Erwarteter Konstantenausdrucksfehler in der Array-Größe
In C erfordert eine Array-Deklaration eine konstante Größe. Wenn versucht wird, ein Array mit einem nicht konstanten Ausdruck zu deklarieren, tritt der Fehler „Erwarteter konstanter Ausdruck“ auf.
Betrachten Sie den folgenden Codeausschnitt:
<code class="cpp">int size = 100; float x[size][2]; // Error</code>
In diesem Beispiel size ist ein Laufzeitwert und somit ein nicht konstanter Ausdruck. Daher kann der Compiler die Größe des Arrays zur Kompilierungszeit nicht bestimmen, was zu dem Fehler führt.
Lösung
Um dieses Problem zu beheben, verwenden Sie eine Datenstruktur, die unterstützt dynamische Größenanpassung, wie z. B. std::vector:
<code class="cpp">std::vector<std::array<float, 2>> x(size);</code>
Alternativ können Sie new verwenden, um Speicher für das Array zu reservieren:
<code class="cpp">float (*px)[2] = new float[size][2];</code>
Denken Sie daran, [] px danach zu löschen verwenden, um den Speicher freizugeben.
Andere Optionen
Wenn Sie keinen Zugriff auf moderne C-Funktionen wie std::vector:
Das obige ist der detaillierte Inhalt vonHier sind einige mögliche Titel für Ihren Artikel, formatiert als Frage-Antwort-Paare: **Option 1 (Konzentrieren Sie sich auf den Fehler):** * **Warum erhalte ich die Fehlermeldung „Erwarteter konstanter Ausdruck', wenn d. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!