7.11 Устаревшие возможности ¶
В прошлом компилятор GNU C++ расширялся для экспериментальной поддержки новых возможностей в период активной эволюции языка C++. Сейчас, когда стандарт C++ завершен, некоторые из этих возможностей устарели и имеют лучшие альтернативы. Использование устаревших возможностей может привести к предупреждению о том, что они будут удалены в будущем. В других случаях возможность может быть уже удалена.
G++ позволяет переопределять виртуальную функцию, возвращающую «void *», функцией, возвращающей другой тип указателя. Это расширение правил ковариантных возвращаемых типов теперь устарело и будет удалено в будущей версии.
Использование аргументов по умолчанию в указателях на функции, типах функций и других местах, где они не разрешены стандартом, устарело и будет удалено в будущей версии G++.
G++ позволяет использовать числовые литералы с плавающей точкой в целочисленных константных выражениях, например, « enum E { e = int(2.2 * 3.7) } ». Это расширение устарело и будет удалено в будущей версии.
G++ позволяет объявлять статические члены данных типа const с плавающей точкой с инициализатором в определении класса. Стандарт допускает инициализаторы только для статических членов const целочисленного типа и типа перечисления, поэтому это расширение устарело и будет удалено в будущей версии.
G++ позволяет добавлять атрибуты после скобочного прямого инициализатора, например, « int f (0) __attribute__ ((something)); ». Это расширение игнорируется с G++ 3.3 и устарело.
G++ позволяет анонимным структурам и объединениям иметь члены, которые не являются общедоступными нестатическими членами данных (т. е. полями). Эти расширения устарели.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.5.0/gcc/Deprecated-Features.html