• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Форум » Корзина форума » Корзина » Ошибки при компиляции. (C++)
Ошибки при компиляции.
ytdb_tdb
Скаут
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;
      }
}
Сообщение # 1 отредактировано ytdb_tdb - Суббота, 21.12.2013, 22:53
infinium
Маршал
Причина очень даже понятная, почитайте на досуге, Список измененных переменных, enum-ов, функций и т.д.
Сообщение # 2 написано 21.12.2013 в 23:12
ytdb_tdb
Скаут
Цитата 4056271
infinium

Спасибо огромное за источник, почитаю обязательно! А по поводу второй, случаем не знаете, как исправить? П.с. по поводу первой ошибки..я написал, что непонятная причина, т.к. я не изменял этот файл патчи его тоже не затрагивали...так что я даже не знаю, где копать.. Буду читать материалы;)
Сообщение # 3 отредактировано ytdb_tdb - Суббота, 21.12.2013, 23:39
kleuser
Командир
Цитата ytdb_tdb ()
А по поводу второй, случаем не знаете, как исправить?

ConfigMgr:: замени на sConfigMgr->
Сообщение # 4 отредактировано kleuser - Суббота, 21.12.2013, 23:42
_dm666
<3 Death Metal
А еще на всякий случай можно гуглить ошибки, точнее их номера. На msdn написаны причины их возникновения и пути решения с примерами.
Сообщение # 5 написано 22.12.2013 в 00:33
ytdb_tdb
Скаут
Всем спасибо, но.. кто-нибудь подскажет, в какой строке находится ошибка и как её исправить 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)
---------------------------------------------
Все, пацаны, с ошибкой разобрался. Я понял, что я невнимательная лалка wink Если у кого-нибудь будет такая ошибка, просто строчку в AuctionHouseBot.cpp :

Код
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);
Сообщение # 6 отредактировано ytdb_tdb - Воскресенье, 22.12.2013, 19:27
Форум » Корзина форума » Корзина » Ошибки при компиляции. (C++)
  • Страница 1 из 1
  • 1
Поиск: