Share via


/Zc:zeroSizeArrayNew (在陣列上呼叫成員 new/delete)

/Zc:zeroSizeArrayNew 編譯器選項會呼叫成員 newdelete,以取得物件的零長度陣列。

語法

/Zc:zeroSizeArrayNew[-]

備註

/Zc:zeroSizeArrayNew 編譯器選項可針對具有虛擬解構函式之類別型別物件的零長度陣列,啟用對成員 newdelete 呼叫。 此行為符合標準。 此編譯器選項是 Visual Studio 2019 16.9 版的新功能,且預設會在所有編譯器模式中啟用。 先前,在 Visual Studio 2019 16.9 版之前編譯的程式碼中,編譯器會使用虛擬解構函式叫用全域 newdelete 類別型別物件的零長度陣列。

/Zc:zeroSizeArrayNew 選項可能會造成依賴先前不符合行為之程式碼的中斷性變更。 若要還原先前的行為,請使用 /Zc:zeroSizeArrayNew- 編譯器選項。

在 Visual Studio 中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。

  3. 在 [其他選項] 中,新增 /Zc:zeroSizeArrayNew/Zc:zeroSizeArrayNew-。 選擇 [確定] 或 [套用] 以儲存變更。

另請參閱

/Zc (一致性)