crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Ошибка компилятора: passing `const MyClass' as `this' argument of
Litkevich Yuriy
  опции профиля:
сообщение 9.4.2010, 10:16
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Помогите понять смысл ошибки компилятора.
Есть такой код:
void MyClass::somefunc()
{
    Type1 *var1;
    Type2 var2;
    Type2 var3;
    SomeType myvar;
    ...
    myvar = myfunc(var1, var2, var3); // <--- тут ошибка компиляции
    ...
    
}

SomeType MyClass::myfunc(Type1*, Type2, Type2)
{
    ...
}
При компиляции получаю такое сообщение об ошибке:
error: passing `const MyClass' as `this' argument of `SomeType MyClass::myfunc(Type1*, Type2, Type2)' discards qualifiers
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 9.4.2010, 10:38
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(kwisp @ 9.4.2010, 14:33) *
где объект MyClass создаешь? не констнатный ли он?
а причем здесь, он. Ну пусть константный, ну и что. Что с вызовом функции не так?

Цитата(kwisp @ 9.4.2010, 14:33) *
ещё как передаётся. только без участия программиста.
я понимаю еслиб речь шла о Питоне, но не о С++.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 2:38