/Zc:zeroSizeArrayNew
(Wywołaj element członkowski nowy/usuń w tablicach)
Opcja kompilatora /Zc:zeroSizeArrayNew
wywołuje element członkowski new
i delete
dla tablic o zerowej długości obiektów.
Składnia
/Zc:zeroSizeArrayNew
[-
]
Uwagi
Opcja /Zc:zeroSizeArrayNew
kompilatora umożliwia wywołania elementów członkowskich new
i delete
dla tablic o zerowej długości obiektów typów klas z wirtualnymi destruktorami. To zachowanie jest zgodne ze standardem. Ta opcja kompilatora jest nowa w programie Visual Studio 2019 w wersji 16.9 i jest domyślnie włączona we wszystkich trybach kompilatora. Wcześniej w kodzie skompilowanym przez wersje przed programem Visual Studio 2019 w wersji 16.9 kompilator wywołał globalny new
i delete
na tablicach o zerowej długości obiektów typów klas z wirtualnymi destruktorami.
Opcja /Zc:zeroSizeArrayNew
może spowodować zmianę powodującą niezgodność w kodzie, która polegała na poprzednim zachowaniu niezgodnym. Aby przywrócić poprzednie zachowanie, użyj opcji kompilatora /Zc:zeroSizeArrayNew-
.
Aby ustawić tę opcję kompilatora w programie Visual Studio
Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).
Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.
W obszarze Dodatkowe opcje dodaj
/Zc:zeroSizeArrayNew
lub/Zc:zeroSizeArrayNew-
. Wybierz przycisk OK lub Zastosuj , aby zapisać zmiany.