| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > l-value |
| Автор: nns2009 19.2.2009, 16:04 | ||||
| Разрабатываю класс со связанным списком, доступ к которому осуществляется как к массиву. Всё шло хорошо пока я только читал данные из связанного списка с помощью оператора [], но когда мне понадобилось изменить значения(в четырёх местах), компилятор выдал мне 4 ошибки: c:\microsoft visual studio 9.0\all\c++\timetable\timetable\timetable.cpp(800) : error C2106: '=' : left operand must be l-value c:\microsoft visual studio 9.0\all\c++\timetable\timetable\timetable.cpp(801) : error C2106: '=' : left operand must be l-value c:\microsoft visual studio 9.0\all\c++\timetable\timetable\timetable.cpp(805) : error C2106: '=' : left operand must be l-value c:\microsoft visual studio 9.0\all\c++\timetable\timetable\timetable.cpp(806) : error C2106: '=' : left operand must be l-value Вот реализация класса:
А вот - присваивания:
Подскажите пожалуйста, что значит l-value, как исправить мою ошибку, ну и есть ли в моём классе какие-либо вычислительные ошибки(по поводу связанного списка)? |
| Автор: Andrey44 19.2.2009, 16:37 | ||
Перегрузи оператор = |
| Автор: math64 19.2.2009, 16:50 |
| operator[] должен возвращать time&, а не time или const time& |
| Автор: nns2009 20.2.2009, 16:40 |
Спасибо, теперь всё работает. А что мне это дало бы? |