Подозреваю что вопрос совершенно идиотский, но никак не могу понять в чем суть.
Есть у меня класс. В упрощенном виде он выглядит так:
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)
 - Форум Стиль или как правильно (2014)
 - Форум как правильно перегрузить оператор? (2007)
 - Форум does not name a type... (2013)
 - Форум При передаче константного объекта по ссылке в функцию, в теле функции не возможно брать из него данные (2018)
 
- Форум Вызов по указателю метода структуры вложенной в класс (2023)
 - Форум Трабл с C++ (2006)
 - Форум Поиогите разобраться с вложенными namespace'ами (2004)
 - Форум Реализация полиморфизма (2006)
 - Форум Обертка на буфер данных (2014)