У меня возникла проблема при компиляции. Компилирую исходники Parabot c помощью MS Visual Studio .NET 2003 и компилятор пишет:
code:
d:\Games\HLSDK_Full/parabot-source\utils\dynpq.h(58) : error C2440: 'initializing' : cannot convert from 'std::vector<_Ty>::iterator' to 'float *'
with
[
_Ty=float
]
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include/xstring(1494) : while compiling class-template member function 'dynamic_priority_queue<key_type>::dynamic_priority_queue(std::vector<_Ty> &)'
with
[
key_type=float,
_Ty=float
]
d:\Games\HLSDK_Full/parabot-source\bot\pb_mapgraph.cpp(325) : see reference to class template instantiation 'dynamic_priority_queue<key_type>' being compiled
with
[
key_type=float
]
d:\Games\HLSDK_Full/parabot-source\utils\dynpq.h(58) : error C2439: 'dynamic_priority_queue<key_type>::first' : member could not be initialized
with
[
key_type=float
]
d:\Games\HLSDK_Full/parabot-source\utils\dynpq.h(46) : see declaration of 'dynamic_priority_queue<key_type>::first'
with
[
key_type=float
]
Generating Code...
Красным выделено то, в чём собственно причина(если это вырезать, то всё нормально, но класс dynamic_priority_queue не работает - халфа вылетает в винду без каких-либо ошибок)
Что нужно сделать в этой ситуации, чтобы компиляция прошла нормально? Строчка No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Наталкивает меня на мысль, что тут нужно либо какое-то #pragma warning( disable : код_ошибки ) либо конвертирование first(v.begin()). Поскольку я не опытный кодер и тем более не программист, я прошу помощи.
Дядя Миша перерыл весь инет, нормальных не нашёл, только метамодовские.
А можно ли сделать что-нить в этой ситуации? Может дело в висуал студио и нужна версия 6.0? Хотя конечно я её нигде сейчас не найду.