Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Перегрузка оператора "[]" для класса строк

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Перегрузка оператора "[]" для класса строк
Имя
Сообщение << Старые топики   Новые топики >>
Перегрузка оператора "[]" для класса строк - 2007-10-22 19:05:47.506666   
BinZo

Сообщений: 230
Оценки: 0
Присоединился: 2006-12-02 20:29:14.373333
Проблемы с сабжем. К примеру есть такой простенький класс:
class StringTest { char* str; //адрес на саму строку .... // конструкторы, деструкторы, методы и тд char& operator[](int index){ return str[intdex]; } }; Вроде бы все правильно. Когда я пытаюсь прочитать какой-то символ строки (cout<< SomeString[3];), то все работает. Но когда я хочу изменить его (SomeString[3]='A';), вылетает ошибка:
invalid conversion from ‘const char*’ to ‘char’
Как можно решить эту проблему?
ЗЫ тот же самый класс, только не для строк, а для массива int-ов работает на ура.
Post #: 1
RE: Перегрузка оператора "[]" для класса строк - 2007-10-23 06:30:02.150000   
JD_WERT

Сообщений: 117
Оценки: 0
Присоединился: 2007-07-12 06:59:16.613333
У меня все работает.

Может быть, ты пишешь SomeString[3]="A"?
Если да, то все, что в двойных кавычках - это строка. Даже если там один символ. Поэтому пиши SomeString[3]='A'
Post #: 2
RE: Перегрузка оператора "[]" для класса строк - 2007-10-23 14:37:03.213333   
BinZo

Сообщений: 230
Оценки: 0
Присоединился: 2006-12-02 20:29:14.373333
/me идиот.
/me пошел вешаться от стыда.

ЗЫ спасибо…
Post #: 3
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Перегрузка оператора "[]" для класса строк







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.