![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Iron Bug |
![]()
Сообщение
#11
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
discards qualifiers буквально "бракованные квалификаторы" (хотя может тут discards - глагол).Столку сбивает тот факт, что якобы я помещаю константный экземпляр своего класса в качестве this. discards qualifiers никак не может быть переведено как "бракованные квалификаторы". тут значение совершенно однозначно: "отбрасывает квалификаторы". а указатель this при работе передаётся первым параметром в любой метод класса. просто эта часть работы с виртуальными таблицами скрыта от программиста. читайте классику. |
|
|
Tonal |
![]()
Сообщение
#12
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Говоря совсем просто, компилятор ругается на вызов неконстантной функции из константной.
При этом состав полей класса неважен. Как и то что вызываемая функция может ничего в экземпляре не менять. Важно только наличие квалификатора const в сигнатурах. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 12:09 |