![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
STLPort отлично компилится во всех Визуалах.
-------------------- ![]() |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Да для меня использовать тот же STLport не проблема. Но этот код я потом отдаю другим людям, а там еще нужно объяснить сначала что такое STL и почему это мне такая крутакая от гиганта M$ не подошла
Вот и пытаясь понять: какой обходной маневр найти, чтоб работала и на VC7.1 и на классических реализациях? (этож надо так извратится, чтоб даже reinterpret_cast<> не помогал!) |
|||
|
||||
| RAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Ничего сложного. Как можно класс к указатели привести? class A { ........... }; A a; void *p = reinterpret_cast<void*>(a); //ошибка |
|||
|
||||
| Fantasist |
|
||||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Напиши свой каст типа:
Это сообщение отредактировал(а) Fantasist - 7.10.2003, 23:14 -------------------- Волны гасят ветер... |
||||
|
|||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Ну вот: отдал вчера порцию кода дальше и от МС опять сюрприз:
случайно в коде осталось одно выражение вида iterator.base(). Так вот в VS2003.NET (VS 7.10) у итератора нет такого метода Я в осадке. |
|||
|
||||
| RAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Жаль мне тебя. Включи в свой проект директорию STL и передавай source со своей stl Или откажись от STL Или используй итераторы только так, как они будут работать в любой реализации. |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Да я так и делаю, пишу:
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Очень проблематично: сначала считываються и парсятся файлы больших объемов, а затем большое кол-во котейнеров используется для динамической генерации 3D ландшафта в 3D графике. Без отлаженных быстрых STL-алгоритмов мне нужно кучу собственных дописывать - да и скорость будет уже не та |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Это уж слишком сурово. Говорю же - делай свое преобразование. И наглядно, и переноситься легко. -------------------- Волны гасят ветер... |
|||
|
||||
| DENNN |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Я же говорю, что в VS2003 (иначе называют 7.10) у итератора нет метода base() Получается что надо делать две проверки на версию 7.0 и на версию 7.10. Это конечно не сложно, вот только если в следующей версии опять что-то поменяют (добавят nbgf virtual_base()) начнуться крики "у нас не компилится!" |
||||
|
|||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Ну так все равно же легче переносить - только одну функцию изменить надо. Можно, конечно, вообще написать твое преобразование внутри этой функции, хотя оно не столь эффективно. Тогда и ее менять не надо будет, а выглядит гораздо нагляднее. -------------------- Волны гасят ветер... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |