陣列大小的預期常數表達式錯誤
在 C 中,不允許宣告具有運行時大小的陣列。此錯誤發生在 float x[size][2] 行中,因為編譯器期望陣列大小為常數表達式。
解決方案
解決此錯誤,可以採用替代方法:
-
std::vector:使用陣列向量在執行時指定陣列大小:std::vector
: std::array > x(size);-
動態記憶體分配
:使用new和delete 運算子進行動態記憶體分配:float (*px)[2] = new float[size][2];。 -
自訂陣列類型
:定義一個自訂陣列類型,如果 C 11 和 boost 都無法訪問,則可以將其放置在向量中。 -
std::pair
:使用std::pair 的向量對於更簡單的語法: std::vector > x(size);
需要注意的是,當無法在編譯時計算表達式時,會出現預期的常數表達式錯誤。對於陣列聲明,使用常數表達式可確保編譯器可以在編譯時確定陣列的大小。
以上是如何解決 C 中數組大小的「預期常數表達式錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!