![]() |
|
Модераторы: bsa |
![]()
|
|
| v00d00 |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
Потребовалось откопать для работы в Delphi (внимение. да я не дружу с С++). Пример для работы с древним апи ODMA.
Пытаюсь в 2008 вижуал студии собрать исходник ODMA connection manager. Выдает следующую ошибку:
и еще парочку аналогичных. Как с этим бороться? Возможно пригодятся исходники Определение
Вызов
Это сообщение отредактировал(а) v00d00 - 26.10.2009, 19:13 |
||||||
|
|||||||
| v00d00 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
Что это вообще за ад?
|
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
*** это ад С++ читается справа на лево: rItem является ссылкой на указатель на тип ODMDms, который является константой оператор ссылка (&) нужен для того, чтобы можно было изменить адрес указателя, переданного в функцию Это сообщение отредактировал(а) zim22 - 26.10.2009, 19:19 |
|||
|
||||
| v00d00 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
разве const не противоречит &?
Видимо в более ранней версии компилятора от мелкософта такой синтаксис считался нормой. В новой версии это отказывается компилироваться. Почему? Как в вызове правильно привести тип? Добавлено через 6 минут и 52 секунды а вообще это по смыслу эквивалентно
Единственное отличие в том что в коде не придется разыменовывать адресс для работы с указателем... Тааак. А почему же оно не компилируется? Вроде данные передаются правильно... |
|||
|
||||
| v00d00 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
Вопрос.
Как правильно передать параметр в функцию с заголовком такого вида
Добавлено @ 16:38 Получилось только так:
но это имхо бред. в вызове кастануть тип не получается Это сообщение отредактировал(а) v00d00 - 27.10.2009, 16:39 |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Скорее всего данное API является ошибкой. Так как скорее всего речь идет о константной ссылке, которая из-за использования препроцессора превратилась в ссылку на константный указатель. Короче, твое решение единственно правильное, если не менять API.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |