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