Перегрузка оператора "[]" для класса строк
Пользователи, просматривающие топик: 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-ов работает на ура.
|
|
|
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'
|
|
|
RE: Перегрузка оператора "[]" для класса строк - 2007-10-23 14:37:03.213333
|
|
|
BinZo
Сообщений: 230
Оценки: 0
Присоединился: 2006-12-02 20:29:14.373333
|
/me идиот. /me пошел вешаться от стыда. ЗЫ спасибо…
|
|
|
|
|