|
Архив - только для чтения |
Модератор форума: andycrowz |
Форум » Корзина форума » Корзина » Ошибки при компиляции. (C++) |
Ошибки при компиляции. |
1)Ошибка появилась по непонятной мне причине:"..\..\..\..\source\src\server\game\AuctionHouse\AuctionHouseBot\AuctionHouseBot.cpp(717): error C2661: WorldSession::WorldSession: нет перегруженной функции, принимающей 8 аргументов"
Ссылка на файл. 2)Ошибка патча:".\..\..\..\source\src\server\scripts\Custom\Transmogrification.cpp(604): error C2352: ConfigMgr::GetBoolDefault: недопустимый вызов нестатической функции-члена" Код: Код #ifdef PRESETS EnableSetInfo = ConfigMgr::GetBoolDefault("Transmogrification.EnableSetInfo", true); SetNpcText = uint32(ConfigMgr::GetIntDefault("Transmogrification.SetNpcText", 50001)); EnableSets = ConfigMgr::GetBoolDefault("Transmogrification.EnableSets", true); MaxSets = (uint8)ConfigMgr::GetIntDefault("Transmogrification.MaxSets", 10); SetCostModifier = ConfigMgr::GetFloatDefault("Transmogrification.SetCostModifier", 3.0f); SetCopperCost = ConfigMgr::GetIntDefault("Transmogrification.SetCopperCost", 0); if (MaxSets > MAX_OPTIONS) MaxSets = MAX_OPTIONS; if (reload) // dont store presets for nothing { SessionMap const& sessions = sWorld->GetAllSessions(); for (SessionMap::const_iterator it = sessions.begin(); it != sessions.end(); ++it) { if (Player* player = it->second->GetPlayer()) { // skipping session check UnloadPlayerSets(player->GetGUID()); if (GetEnableSets()) LoadPlayerSets(player->GetGUID()); } } } #endif EnableTransmogInfo = ConfigMgr::GetBoolDefault("Transmogrification.EnableTransmogInfo", true); TransmogNpcText = uint32(ConfigMgr::GetIntDefault("Transmogrification.TransmogNpcText", 50000)); std::istringstream issAllowed(ConfigMgr::GetStringDefault("Transmogrification.Allowed", "")); std::istringstream issNotAllowed(ConfigMgr::GetStringDefault("Transmogrification.NotAllowed", "")); while(issAllowed.good()) { uint32 entry; issAllowed >> entry; if(issAllowed.fail()) break; Allowed.insert(entry); } while(issNotAllowed.good()) { uint32 entry; issNotAllowed >> entry; if(issNotAllowed.fail()) break; NotAllowed.insert(entry); } ScaledCostModifier = ConfigMgr::GetFloatDefault("Transmogrification.ScaledCostModifier", 1.0f); CopperCost = ConfigMgr::GetIntDefault("Transmogrification.CopperCost", 0); RequireToken = ConfigMgr::GetBoolDefault("Transmogrification.RequireToken", false); TokenEntry = uint32(ConfigMgr::GetIntDefault("Transmogrification.TokenEntry", 49426)); TokenAmount = uint32(ConfigMgr::GetIntDefault("Transmogrification.TokenAmount", 1)); AllowPoor = ConfigMgr::GetBoolDefault("Transmogrification.AllowPoor", false); AllowCommon = ConfigMgr::GetBoolDefault("Transmogrification.AllowCommon", false); AllowUncommon = ConfigMgr::GetBoolDefault("Transmogrification.AllowUncommon", true); AllowRare = ConfigMgr::GetBoolDefault("Transmogrification.AllowRare", true); AllowEpic = ConfigMgr::GetBoolDefault("Transmogrification.AllowEpic", true); AllowLegendary = ConfigMgr::GetBoolDefault("Transmogrification.AllowLegendary", false); AllowArtifact = ConfigMgr::GetBoolDefault("Transmogrification.AllowArtifact", false); AllowHeirloom = ConfigMgr::GetBoolDefault("Transmogrification.AllowHeirloom", true); AllowMixedArmorTypes = ConfigMgr::GetBoolDefault("Transmogrification.AllowMixedArmorTypes", false); AllowMixedWeaponTypes = ConfigMgr::GetBoolDefault("Transmogrification.AllowMixedWeaponTypes", false); if (!sObjectMgr->GetItemTemplate(TokenEntry)) { sLog->outError(("server.loading", "Transmogrification.TokenEntry (%u) does not exist. Using default.", TokenEntry); TokenEntry = 49426; } } |
Причина очень даже понятная, почитайте на досуге, Список измененных переменных, enum-ов, функций и т.д.
Сообщение # 2 написано 21.12.2013 в 23:12
|
Цитата 4056271 infinium Спасибо огромное за источник, почитаю обязательно! А по поводу второй, случаем не знаете, как исправить? П.с. по поводу первой ошибки..я написал, что непонятная причина, т.к. я не изменял этот файл патчи его тоже не затрагивали...так что я даже не знаю, где копать.. Буду читать материалы;) |
Всем спасибо, но.. кто-нибудь подскажет, в какой строке находится ошибка и как её исправить error C2661: WorldSession::WorldSession: нет перегруженной функции, принимающей 8 аргументов" ? Я облазил весь cpp файл и не нашёл причины:( Либо у меня не хватает знаний, либо я плохо искал:weep: На мсдн написано следущее об это ошибке: "Возможные причины:
Неверные фактические параметры в вызове функции. Пропущено объявление функции." Вот возможная причина: Код /// WorldSession constructor WorldSession::WorldSession(uint32 id, WorldSocket* sock, AccountTypes sec, bool ispremium, uint8 expansion, time_t mute_time, LocaleConstant locale, uint32 recruiter, bool isARecruiter): m_muteTime(mute_time), m_timeOutTime(0), AntiDOS(this), _player(NULL), m_Socket(sock), _security(sec), _ispremium(ispremium), _accountId(id), m_expansion(expansion), _warden(NULL), _logoutTime(0), m_inQueue(false), m_playerLoading(false), m_playerLogout(false), m_playerRecentlyLogout(false), m_playerSave(false), m_sessionDbcLocale(sWorld->GetAvailableDbcLocale(locale)), m_sessionDbLocaleIndex(locale), m_latency(0), m_clientTimeDelay(0), m_TutorialsChanged(false), recruiterId(recruiter), isRecruiter(isARecruiter), timeLastWhoCommand(0), _RBACData(NULL) Добавлено (22.12.2013, 19:35) Код WorldSession _session(AHBplayerAccount, NULL, SEC_PLAYER, true, 0, LOCALE_enUS, 0, 0); заменить на: Код WorldSession _session(AHBplayerAccount, NULL, SEC_PLAYER, false, true, 0, LOCALE_enUS, 0, 0); |
| |||
| |||