Ru-MaNGOS

Вернуться   Ru-MaNGOS > Корзина > Корзина

Важная информация

Корзина Глупые, устаревшие, неактуальные темы будут тут.

Сюда сливается весь треш форума. Если ваш пост оказался здесь, подумайте - стоит ли еще раз писать?

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.04.2010, 08:53   #1
xmolex
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 79
Сказал(а) спасибо: 3
Поблагодарили 10 раз(а) в 8 сообщениях
xmolex На верном пути
По умолчанию Compile error [9664]

Вообщем-то проблема в 9661.
При компиляции на FreeBSD выдает:

Код:
g++ -DHAVE_CONFIG_H -I. -I../../../src/game -I../..  -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers  -I/usr/local/include/mysql -I/usr/local/include    -I../../src/shared -I../../../src/game -I../../../src/game/../../dep/include -I../../../src/game/../framework -I../../../src/game/../shared -I../../../src/game/../shared/vmap -I../../../src/game/../realmd -DSYSCONFDIR=\"/usr/local/mangos/temp/etc/\"   -DDO_MYSQL -g -O2 -MT PetitionsHandler.o -MD -MP -MF .deps/PetitionsHandler.Tpo -c -o PetitionsHandler.o ../../../src/game/PetitionsHandler.cpp
mv -f .deps/PetitionsHandler.Tpo .deps/PetitionsHandler.Po
g++ -DHAVE_CONFIG_H -I. -I../../../src/game -I../..  -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers  -I/usr/local/include/mysql -I/usr/local/include    -I../../src/shared -I../../../src/game -I../../../src/game/../../dep/include -I../../../src/game/../framework -I../../../src/game/../shared -I../../../src/game/../shared/vmap -I../../../src/game/../realmd -DSYSCONFDIR=\"/usr/local/mangos/temp/etc/\"   -DDO_MYSQL -g -O2 -MT Player.o -MD -MP -MF .deps/Player.Tpo -c -o Player.o ../../../src/game/Player.cpp
../../../src/game/Player.cpp:21840:2: warning: no newline at end of file
../../../src/game/Player.cpp: In member function 'bool Player::resetTalents(bool)':
../../../src/game/Player.cpp:3689: error: no match for 'operator=' in 'iter = ((Player*)this)->Player::m_talents[((int)((Player*)this)->Player::m_activeSpec)].__gnu_cxx::hash_map<_Key, _Tp, _HashFn, _EqualKey, _Alloc>::erase [with _Key = unsigned int, _Tp = PlayerTalent, _HashFn = __gnu_cxx::hash<unsigned int>, _EqualKey = std::equal_to<unsigned int>, _Alloc = std::allocator<PlayerTalent>](iter)'
/usr/include/c++/4.2/ext/hashtable.h:109: note: candidates are: __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >& __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >::operator=(const __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >&)
../../../src/game/Player.cpp:3697: error: no match for 'operator=' in 'iter = ((Player*)this)->Player::m_talents[((int)((Player*)this)->Player::m_activeSpec)].__gnu_cxx::hash_map<_Key, _Tp, _HashFn, _EqualKey, _Alloc>::erase [with _Key = unsigned int, _Tp = PlayerTalent, _HashFn = __gnu_cxx::hash<unsigned int>, _EqualKey = std::equal_to<unsigned int>, _Alloc = std::allocator<PlayerTalent>](iter)'
/usr/include/c++/4.2/ext/hashtable.h:109: note: candidates are: __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >& __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >::operator=(const __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >&)
gmake[3]: *** [Player.o] Error 1
gmake[3]: Leaving directory `/usr/local/mangos/devel/compile/obj/src/game'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/local/mangos/devel/compile/obj/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/local/mangos/devel/compile/obj'
gmake: *** [all] Error 2
К сожалению сам разобраться не смог.
xmolex вне форума  
Старый 03.04.2010, 10:14   #2
Osa
Новичок
 
Аватар для Osa
 
Регистрация: 07.03.2010
Сообщений: 20
Сказал(а) спасибо: 3
Поблагодарили 7 раз(а) в 6 сообщениях
Osa На верном пути
По умолчанию

Цитата:
Сообщение от xmolex Посмотреть сообщение
Вообщем-то проблема в 9661.
При компиляции на FreeBSD выдает:

Код:
g++ -DHAVE_CONFIG_H -I. -I../../../src/game -I../..  -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers  -I/usr/local/include/mysql -I/usr/local/include    -I../../src/shared -I../../../src/game -I../../../src/game/../../dep/include -I../../../src/game/../framework -I../../../src/game/../shared -I../../../src/game/../shared/vmap -I../../../src/game/../realmd -DSYSCONFDIR=\"/usr/local/mangos/temp/etc/\"   -DDO_MYSQL -g -O2 -MT PetitionsHandler.o -MD -MP -MF .deps/PetitionsHandler.Tpo -c -o PetitionsHandler.o ../../../src/game/PetitionsHandler.cpp
mv -f .deps/PetitionsHandler.Tpo .deps/PetitionsHandler.Po
g++ -DHAVE_CONFIG_H -I. -I../../../src/game -I../..  -I../../../dep/ACE_wrappers -I../../dep/ACE_wrappers  -I/usr/local/include/mysql -I/usr/local/include    -I../../src/shared -I../../../src/game -I../../../src/game/../../dep/include -I../../../src/game/../framework -I../../../src/game/../shared -I../../../src/game/../shared/vmap -I../../../src/game/../realmd -DSYSCONFDIR=\"/usr/local/mangos/temp/etc/\"   -DDO_MYSQL -g -O2 -MT Player.o -MD -MP -MF .deps/Player.Tpo -c -o Player.o ../../../src/game/Player.cpp
../../../src/game/Player.cpp:21840:2: warning: no newline at end of file
../../../src/game/Player.cpp: In member function 'bool Player::resetTalents(bool)':
../../../src/game/Player.cpp:3689: error: no match for 'operator=' in 'iter = ((Player*)this)->Player::m_talents[((int)((Player*)this)->Player::m_activeSpec)].__gnu_cxx::hash_map<_Key, _Tp, _HashFn, _EqualKey, _Alloc>::erase [with _Key = unsigned int, _Tp = PlayerTalent, _HashFn = __gnu_cxx::hash<unsigned int>, _EqualKey = std::equal_to<unsigned int>, _Alloc = std::allocator<PlayerTalent>](iter)'
/usr/include/c++/4.2/ext/hashtable.h:109: note: candidates are: __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >& __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >::operator=(const __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >&)
../../../src/game/Player.cpp:3697: error: no match for 'operator=' in 'iter = ((Player*)this)->Player::m_talents[((int)((Player*)this)->Player::m_activeSpec)].__gnu_cxx::hash_map<_Key, _Tp, _HashFn, _EqualKey, _Alloc>::erase [with _Key = unsigned int, _Tp = PlayerTalent, _HashFn = __gnu_cxx::hash<unsigned int>, _EqualKey = std::equal_to<unsigned int>, _Alloc = std::allocator<PlayerTalent>](iter)'
/usr/include/c++/4.2/ext/hashtable.h:109: note: candidates are: __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >& __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >::operator=(const __gnu_cxx::_Hashtable_iterator<std::pair<const unsigned int, PlayerTalent>, unsigned int, __gnu_cxx::hash<unsigned int>, std::_Select1st<std::pair<const unsigned int, PlayerTalent> >, std::equal_to<unsigned int>, std::allocator<PlayerTalent> >&)
gmake[3]: *** [Player.o] Error 1
gmake[3]: Leaving directory `/usr/local/mangos/devel/compile/obj/src/game'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/local/mangos/devel/compile/obj/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/local/mangos/devel/compile/obj'
gmake: *** [all] Error 2
К сожалению сам разобраться не смог.

Есть такое и на 9664 FreeBSD 7.0/64

Последний раз редактировалось Osa; 03.04.2010 в 12:18.
Osa вне форума  
Старый 03.04.2010, 11:48   #3
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию

Если я правильно понял суть функции то
Код:
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 9c447b5..c748497 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -3690,7 +3690,8 @@ bool Player::resetTalents(bool no_cost)
         TalentEntry const *talentInfo = (*iter).second.m_talentEntry;
         if (!talentInfo)
         {
-            iter = m_talents[m_activeSpec].erase(iter);
+            m_talents[m_activeSpec].erase(iter);
+            ++iter;
             continue;
         }
 
@@ -3698,7 +3699,8 @@ bool Player::resetTalents(bool no_cost)
 
         if (!talentTabInfo)
         {
-            iter = m_talents[m_activeSpec].erase(iter);
+            m_talents[m_activeSpec].erase(iter);
+            ++iter;
             continue;
         }
компиляцию восстановит. В игре бегло проверил - проблем с обнулением талантов (а именно этим и занимается измененная функция) нет.

Последний раз редактировалось Insider42; 03.04.2010 в 12:04.
Insider42 вне форума  
Старый 03.04.2010, 14:59   #4
FreeBSD
RMDC Donator
 
Аватар для FreeBSD
 
Регистрация: 07.03.2010
Сообщений: 42
Сказал(а) спасибо: 20
Поблагодарили 12 раз(а) в 5 сообщениях
FreeBSD На верном пути
По умолчанию



в официальной ветке исправят?
FreeBSD вне форума  
Старый 03.04.2010, 16:54   #5
sax-ru
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от FreeBSD Посмотреть сообщение
Slackware 12.0.0 аналогичная ошибка.
 
Старый 04.04.2010, 07:10   #6
xmolex
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 79
Сказал(а) спасибо: 3
Поблагодарили 10 раз(а) в 8 сообщениях
xmolex На верном пути
По умолчанию

В 9669 исправили.
xmolex вне форума  
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SD0 Compile Error fedr MaNGOSZero (1.12.X) 15 16.01.2011 21:15
[9708] Compile fix under GCC. newsbot CMaNGOS Commits 0 09.04.2010 17:30
[9664] Fix what author of [9663] messed up, and include the changes in mangos.sql newsbot CMaNGOS Commits 0 03.04.2010 03:51


Текущее время: 12:23. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot