![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Rickert |
|
||||||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 0 Всего: 52 |
Ничего понять не могу:
Ошибки:
Метод avGetData() описан в классе aVector:
pos - float[3]. Почему ошибки? Это сообщение отредактировал(а) Rickert - 17.3.2008, 17:00 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
||||||
|
|||||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Метод avGetData должен быть константным.
|
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 2 Всего: 5 |
Вот попытался смоделировать то что утебя! Все работает! я убрал const от Vec &x1,Vec &x2 так как их функция возвращает const значение! думаю ошибка в этом! я так понял компиятор не может привести к типу & Vec! на мой взгляд это самый правильный выход из даной ситуации -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 0 Всего: 52 |
Graf_h, нет, const терять нельзя.
Daevaorn, а в чём смысл этого самого const? я поставил сразу после объявления функции:
А заработало. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Rickert, этот конст означает, что твой метод не меняет поля класса (другими словами, this указывает на константный объект).
|
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 2 Всего: 5 |
и у меня заработало
На мой взгляд тело твоей функции невкоем случае не поменяет значения vec и vec2! Мне кажется здесь можно обойтись и без const! Хотя если я ошибаюсь, тогда скажи вчем! Сам хочу разобратся... -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Graf_h, const нужен для того, чтобы в будущем не допустить ошибок. А потом, это еще один уровень контроля. Если ты вместо одного оператора в теле функции использовал другой, который меняет данные класса, то компилятор тебя отругает и укажет место ошибки. И ты ее быстро исправишь.
В принципе, можно вообще писать классы, размещая все поля в публичной зоне, не используя const и пр. И, возможно, программа будет работать. Вот только через год, когда в эту программу придется что-то добавить, возникнет куча проблем - вставил одно, сломалось другое, починил, испортилось третье, исправил перестало работать то, ради чего стал переделывать. А почему? А потому, что все забылось, а код позволяет вносить в себя любые изменения, не контроллирая их. |
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 2 Всего: 5 |
Спасибо! все понял!
Думаю Rickert тему можно пометить решеной! -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 0 Всего: 52 |
Всем спасибо!
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |