Подозреваю что вопрос совершенно идиотский, но никак не могу понять в чем суть.
Есть у меня класс. В упрощенном виде он выглядит так:
class MyClass {
private:
MyClass();
~MyClass();
vector<string> data;
unsigned int size() { return data.size(); }
};
далее в коде я передаю переменную этого класса в функцию, и хочу вызывать оттуда size():
void some_function(const MyClass &dataClass) {
printf("size: %d\n", dataClass.size();
}
На что g++ естественно ругается: passing ‘const MyClass’ as ‘this’ argument of ‘unsigned int MyClass::size()’ discards qualifiers
Вопроса два: 1) почему так нельзя, 2) можно ли сделать так, чтоб было можно, но при этом все равно передавая константную ссылку?
Ответ на:
комментарий
от Spectr
Ответ на:
комментарий
от aix27249
Ответ на:
комментарий
от Spectr
Ответ на:
комментарий
от MYMUR
Ответ на:
комментарий
от MYMUR
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум warning: char ** -> const char *const * (2014)
- Форум Qt: цвет текста в виджете (2011)
- Форум Стиль или как правильно (2014)
- Форум как правильно перегрузить оператор? (2007)
- Форум does not name a type... (2013)
- Форум Описание функции - С! (2005)
- Форум Трабл с C++ (2006)
- Форум Поиогите разобраться с вложенными namespace'ами (2004)
- Форум При передаче константного объекта по ссылке в функцию, в теле функции не возможно брать из него данные (2018)
- Форум Clang или GCC кто неправ? (2014)