Подозреваю что вопрос совершенно идиотский, но никак не могу понять в чем суть.
Есть у меня класс. В упрощенном виде он выглядит так:
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) можно ли сделать так, чтоб было можно, но при этом все равно передавая константную ссылку?
Форум —
Development





