解決陣列大小的「預期常數表達式」錯誤
考慮下列C 程式碼:
<code class="cpp">int count = 0; float sum = 0; float maximum = -1000000; std::ifstream points; int size = 100; float x[size][2]; // <<< Error
此🎜>此宣告數組x 時,程式碼引發「預期常數表達式」錯誤。出現此錯誤的原因是 C 要求在編譯時已知非靜態陣列大小。
使用向量的解
要解決此問題,我們可以使用C 向量而不是數組:
<code class="cpp">std::vector<std::array<float, 2>> x(size);</code>
使用new 的解決方案
另一種方法涉及使用new 運算符動態分配數組:
<code class="cpp">float (*px)[2] = new float[size][2];</code>
替代解決方案
非C 11 編譯器的注意事項
如果您沒有C 11 支持,請使用以下技術:
以上是如何修復在 C 中宣告數組時出現的「預期常數表達式」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!