Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[c++] CString 30.05.01 01:11 Число просмотров: 880
Автор: kabanchik Статус: Незарегистрированный пользователь
|
> > > А какого типа у тебя параметр i ? > вот это да. Просто офигеть. > i у меня был объявлен как UINT и при этом он выдавал > вышеозначенную ошибку... > при замене на int всё замечательно компилируется... > ваши комментарии.
Ничего офигительного.
Вся фишка в том, что обычно через оператор [] обращаются индексом типа size_t - unsigned int
а в CString есть оператор :
TCHAR operator [] (int nIndex) const
так вот, когда ты к нему (к стригу) обращаешься, компилятор не знал какой оператор задействовать, потому что он можен сконвертировать твой UINT в int, тогда идет оператор класса.
а так же (я так пологаю) CString => const char* /operator LPCTSTR/ => operator [] (size_t index) - стандартный оператор указателя/массива.
Вот он и матюгался. Ошибка выявляется, когда идет 2-ой "перегужаемый" смысл. Поэтому никогда не ленись делать casting спокойней спать будешь и без анальгина :)))))
а почему он компилился в другом проекте без ошибок - не могу сказать. Скорее всего какие то опции были заменены, или разные компиляторы - версия или компания. это уже ты знаешь.
|
|
|