Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

У меня ошибка? Поможете

73K
02 сентября 2013 года
Alexeyvolsh
18 / / 19.08.2013
Вот код
Код:
int __fastcall TZash::LoadCharSet(const String& sInput)
{
     if (sInput.Length() < 2)
    return 0;

  String sTemp = sInput;
  String sParsed;
  int nI, nPos;

  if (sTemp[1] == '[') {
    if ((nPos = sTemp.Pos("]")) > 2)
      sTemp.Delete(1, nPos);
  }

  for (nI = 0; nI < CHARSET_CODES_NUM; nI++) {
    String sCode = CHARSET_CODES[nI];
    if ((nPos = sTemp.Pos(sCode)) != 0) {
      sTemp.Delete(nPos, sCode.Length());
      sParsed += m_charSetDecodes[nI];
    }
  }

  sParsed += sTemp;

  //необходимость исключения неоднозначных персонажей(Characters)?
  String sAmbigChars;
  if (m_passOptions[PASSOPTION_EXCLUDEAMBIG]) {
    if (m_sLabel1.IsEmpty())
      sAmbigChars = CHARSET_AMBIGUOUS;
    else
      sAmbigChars = m_sLabel2;
  }

  String sChars = MakeCharSetUnique(sParsed, sAmbigChars);
  int nSetSize = sChars.Length();

  if (nSetSize < 2)
    return 0;

 // m_sCharSet.Assign(sChars.c_str(), nSetSize);
  m_sCharSetDisplay = sChars;

  //существуют ли какие-либо не строчных букв в наборе?
   m_blCharSetNonLC = false;
  for (nI = 0; nI < nSetSize; nI++) {
    if (m_sCharSet[nI] < 'a' || m_sCharSet[nI] > 'z') {
      m_blCharSetNonLC = true;
      break;
    }
  }
  //shuffle массив с помощью  метода Фишера-Йейтса :
  //это должно повысить безопасность (немного) бит
  int nRand;
  for (nI = nSetSize; nI > 1; ) {
     //избежать модулю предвзятости!
        while ((nRand = g_pRandPool->GetByte()) > (nI*(256/nI)-1));
    nRand %= nI;
    nI--;
    if (nRand != nI)
      swap(m_sCharSet[nI], m_sCharSet[nRand]);
  }

  nRand = 0;
  g_pRandPool->Flush();

  m_dCharSetEntropy = Log2(nSetSize);

  m_sCharSetInfo = TRLFormat("%d characters / %.1f bits per character",
    ARRAYOFCONST((nSetSize, roundEntropy(m_dCharSetEntropy))));

  //CharSetInfoLbl->Caption = m_sCharSetInfo;
  //CharSetInfoLbl->Font->Color = clNavy;

  return nSetSize;
}
Ругаеться на строку

 
Код:
m_dCharSetEntropy = Log2(nSetSize);
А вот и сама ошибка
[BCC32 Error] ZachYlKn1.cpp(739): E2015 Ambiguity between '_fastcall System::Math::Log2(const float) at c:\progra~2\embarc~1\radstu~1\9.0\include\windows\rtl\System.Math.hpp:199' and '_fastcall System::Math::Log2(const long double) at c:\progra~2\embarc~1\radstu~1\9.0\include\windows\rtl\System.Math.hpp:201'
Full parser context
ZachYlKn1.cpp(675): parsing: int _fastcall TZash::LoadCharSet(const System::UnicodeString &)
89K
03 сентября 2013 года
Ян Петров
2 / / 03.09.2013
Здравствуй сынок, я теперь твой новый учитель)
446
03 сентября 2013 года
Meander
487 / / 04.09.2011
Там же черным по белому написано: непонятка между вызовом функций с параметрами флоат и лонг дубл. Она возникает, так как переменная которую ты туда передаешь объявлена как инт. Во что этот инт надо преобразовать - в флоат или в лонг дубл? Компилятор не знает, а как бы ты поступил, если бы был компилятором?
73K
03 сентября 2013 года
Alexeyvolsh
18 / / 19.08.2013
Спасибо исправил все.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог