Почему спецификатор const для типа возвращаемого значения не имеет никакого эффекта ...
Поскольку функция возвращает значение типа prvalue. Нет разницы между значениями const и nonconst типа int
или bool
. Квалификатор имеет значение только для значений типов классов (даже тогда, возвращение значения const было бы весьма нетрадиционным).
Компилятор помогает и предупреждает вас об этом. Вполне вероятно, что при написании этой декларации была допущена ошибка, поскольку бессмысленные классификаторы бесполезны. Кто-нибудь когда-либо писал, возможно, намеревался написать что-то еще, что имело бы значение.
Очевидно, компилятору было сказано обрабатывать предупреждения как ошибки.
... on функции, помеченные __forceinline / inline?
То же самое относится и к функциям, которые не помечены этими.