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...
Вот участок кода, на который жалуется компилятор:
C++ Source Code:
1 | dynamic_priority_queue<key_type>::dynamic_priority_queue(vector<key_type>& v) |
2 | : Indices(v.size()), c(v.size()), [color=red]first(v.begin())[/color], csize(v.size()) |
7 | // store pointers and generate heap |
8 | for(i = 0; i< csize; i++) |
10 | std::make_heap(c.begin(), c.end(), comp); // STL |
12 | // construct index array |
13 | for(i = 0; i< csize; i++) |
14 | Indices[c[i] - first] = i; |
Красным выделено то, в чём собственно причина(если это вырезать, то всё нормально, но класс 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()). Поскольку я не опытный кодер и тем более не программист, я прошу помощи.
Отправлено Дядя Миша 13-05-2008 в 06:52:
Экая мерзость на STL. А более других исходников паработа нету?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 13-05-2008 в 15:39:
Дядя Миша перерыл весь инет, нормальных не нашёл, только метамодовские.
А можно ли сделать что-нить в этой ситуации? Может дело в висуал студио и нужна версия 6.0? Хотя конечно я её нигде сейчас не найду.
Отправлено Дядя Миша 13-05-2008 в 16:07:
Ku2zoff этож у тебя NET студия, а исходники - на С++.
Попробуй, к примеру 2005-ю студию, ну или 2003-ю.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'