Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Модификатор const Очередные грабли с++? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите пожалуйста где исправить ошибку в программе сделанную в C++ http://www.cyberforum.ru/cpp-beginners/thread370367.html
Привет всем! У меня случилась одна не большая проблема. Дело в том, что мне задали написать программу: Дан одномерный массив MAS. Найти среднее арифметическое данного массива. Я написал её в C++,...
C++ Супер простой вопрос есть например printf("%f ",sum); как ограничить количество знаков после запятой в float? забыл и ни где найти не могу http://www.cyberforum.ru/cpp-beginners/thread370366.html
почему не работает прога? C++
#include <iostream> #include <iomanip> using namespace std; void mean (const int, int); void median (const int, int); void mode (const int, int); void bubbleSort (int, int); void...
C++ Не запускается в code blocks 8.0
Всем привет, нашел прогу которая видимо рабочая, но не могу проверить так как в code blocks она не компилится. Вот само задание По заданным векторам А и В сформировать вектор С по формуле Cij=ai+bj...
C++ Не работает перевод на следущую строку http://www.cyberforum.ru/cpp-beginners/thread370344.html
Пишу вот это textBox1->Text = "какойто текст\nкакойто текст"; А оно лепит это всё в одну строчку
C++ Без стажа не читать!:) Привет! Ситуация такова что, надо сделать программу-тест с изменяющимися вопросами результаты которой можно просмотреть но с разными правами доступа (аля препод может посмотреть как сдано... подробнее

Показать сообщение отдельно
Bers
Заблокирован

Модификатор const Очередные грабли с++? - C++

21.10.2011, 21:15. Просмотров 3022. Ответов 12
Метки (Все метки)

Представленный ниже код не компилируется.
В чем здесь может быть проблема?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class CFirst
{
public:
    int GetValue() { return 10; }
};
 
class CSecond
{
public:
    void Do(const CFirst& src) const
    {
        if(src.GetValue()==10) { std::cout<<"YES!\n"; }
    }
};

error C2662: CFirst::GetValue: невозможно преобразовать указатель 'this' из 'const CFirst' в 'CFirst &'

Если убрать модификатор const все работает без проблем.
Я уже заколебался ловить баги с этими констами.
Оказывается, они даже жизнь временных объектов умеют продлевать.
Но здесь же в условии сам объект класса CFirst вообще не трогается.
Число 10 сравнивается с временным int, и контракт CFirst не нарушается!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru