Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.28.50] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
ошибка ОшибкаC2440reinterpret_cast: невозможно преобразовать "const char *" в "unsigned char *"AdmHyTechc:\users\admin\desktop\my_soft_hytech\1_hytech_консоль(2)\admhytech\main.cpp39 ругается на все строчки где out << *reinterpret_cast<signed short *>(field.m_data.data()); |
Сообщ.
#17
,
|
|
|
Покажи код
|
Сообщ.
#18
,
|
|
|
Цитата Олег М @ Покажи код Видать у него field.m_data.data() возвращает указатель на const char*. А reinterprest_cast константность снимать не умеет. Вот и ошибки вылазят. |
Сообщ.
#19
,
|
|
|
Цитата Flex Ferrum @ Видать у него field.m_data.data() возвращает указатель на const char*. А reinterprest_cast константность снимать не умеет. Вот и ошибки вылазят. Кстати, да. Надо в std::ostream &operator<<(std::ostream &out, const CField &field) везде сделать *reinterpret_cast<const ..... *>(field.m_data.data()); Например out << *reinterpret_cast<const signed short *>(field.m_data.data()); |
Сообщ.
#20
,
|
|
|
Олег М сделал все как Вы написали , работает но естественно не так , такая схема не пойдет , почему ?
надо по типам раскладывать два раза 1 раз std::ostream &operator<<(std::ostream &out, const CField &field) { switch (field.m_type) { case HSCLI_ET_CHAR: // 0 Массив символов длиной не более заданной out << std::string(field.m_data.begin(), field.m_data.end()); break; 2раз std::list<CRecord> records; for (int i = 0; i < pStr; i++) //Пробегаем по всем строкам { ................... } |
Сообщ.
#21
,
|
|
|
Цитата kms @ надо по типам раскладывать два раза Что–то насчет второго раза не понял. Где там что раскладывается? |
Сообщ.
#22
,
|
|
|
Цитата Олег М @ Кстати, да. Надо в std::ostream &operator<<(std::ostream &out, const CField &field) везде сделать *reinterpret_cast<const ..... *>(field.m_data.data()); Например out << *reinterpret_cast<const signed short *>(field.m_data.data()); ОК сейчас попробую еще раз может че то не до курил |
Сообщ.
#23
,
|
|
|
Цитата Олег М @ Что–то насчет второго раза не понял. Где там что раскладывается? ну как бы второй раз идет преобразование или я не так понял , ок разбираюсь , пробую |
Сообщ.
#24
,
|
|
|
А обновление делали?
|
Сообщ.
#25
,
|
|
|
Извини за запоздалый ответ
проблема не в заполнении массива, а в том что под динамическую структуру lamp0 память выделяется внутри процедуры lampReset если строку Код: |
Сообщ.
#26
,
|
|
|
Завтра пересмотрю
|