首頁 >後端開發 >C++ >如何解決 C 中數組大小的「預期常數表達式錯誤」?

如何解決 C 中數組大小的「預期常數表達式錯誤」?

DDD
DDD原創
2024-10-24 21:55:02704瀏覽

How to Resolve the

陣列大小的預期常數表達式錯誤

在 C 中,不允許宣告具有運行時大小的陣列。此錯誤發生在 float x[size][2] 行中,因為編譯器期望陣列大小為常數表達式。

解決方案

解決此錯誤,可以採用替代方法:

  1. std::vector:使用陣列向量在執行時指定陣列大小:std::vector
  2. : std::array > x(size);
  3. 動態記憶體分配
  4. :使用new和delete 運算子進行動態記憶體分配:float (*px)[2] = new float[size][2];。
  5. 自訂陣列類型
  6. :定義一個自訂陣列類型,如果 C 11 和 boost 都無法訪問,則可以將其放置在向量中。
  7. std::pair
  8. :使用std::pair 的向量對於更簡單的語法: std::vector > x(size);

需要注意的是,當無法在編譯時計算表達式時,會出現預期的常數表達式錯誤。對於陣列聲明,使用常數表達式可確保編譯器可以在編譯時確定陣列的大小。

以上是如何解決 C 中數組大小的「預期常數表達式錯誤」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn