陣列大小中的預期常數表達式錯誤
在 C 中,陣列宣告需要常數大小。當嘗試使用非常量表達式聲明數組時,會發生「預期常數表達式」錯誤。
請考慮以下程式碼片段:
<code class="cpp">int size = 100; float x[size][2]; // Error</code>
在此範例中, size 是一個執行時間值,使其成為非常量表達式。因此,編譯器無法在編譯時確定數組的大小,從而導致錯誤。
解決方案
要解決此問題,請使用以下資料結構:支援動態調整大小,例如std::vector:
<code class="cpp">std::vector<std::array<float, 2>> x(size);</code>
或者,您可以使用new 為數組分配記憶體:
<code class="cpp">float (*px)[2] = new float[size][2];</code>
記住刪除[] px用於釋放記憶體。
其他選項
如果您無法存取現代C 功能,如std::vector:
以上是以下是您的文章的一些潛在標題,格式為問答對: **選項 1(關注錯誤):** * **為什麼我在 d 時收到「預期常數表達式」錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!