首頁 >後端開發 >C++ >\'為什麼聲明具有運行時確定大小的數組會導致\'預期常數表達式\”錯誤?\”

\'為什麼聲明具有運行時確定大小的數組會導致\'預期常數表達式\”錯誤?\”

Linda Hamilton
Linda Hamilton原創
2024-10-25 04:10:29518瀏覽

錯誤:數組大小的「預期常數表達式」

嘗試聲明具有運行時確定大小的數組時,如以下程式碼片段:

<code class="cpp">int size = 100;
float x[size][2];</code>

您可能會遇到錯誤「預期常數表達式」。出現此錯誤的原因是聲明的陣列必須在編譯時確定其大小。

解決方案:使用向量或動態數組分配

要解決此問題,請考慮使用向量或動態數組分配。使用向量,您可以在運行時指定大小:

<code class="cpp">std::vector< std::array<float, 2> > x(size);</code>

或者,您可以使用new 運算符動態分配數組:

<code class="cpp">float (*px)[2] = new float[size][2];</code>

其他選項:

  • 其他選項:
  • 其他選項:
  • 其他選項:
  • Boost Array:如果您沒有C 11,請使用Boost 圖庫的boost::array。
自訂陣列類型: 建立可以放置在向量中的自訂陣列類型。 身分範本: 使用身分範本簡化動態陣列分配的語法。 對向量: 使用 std::pair 向量儲存資料。

以上是'為什麼聲明具有運行時確定大小的數組會導致'預期常數表達式”錯誤?”的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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