Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
Примеры ошибок, обнаруженных с...

Примеры ошибок, обнаруженных с помощью диагностики V669

V669. Argument is a non-constant reference. The analyzer is unable to determine the position where this argument is modified. Consider checking the function for an error.


CMaNGOS

V669 The 'uiHealedAmount' argument is a non-constant reference. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error. boss_twinemperors.cpp 109


void
HealedBy(Unit* pHealer, uint32& uiHealedAmount) override
{
  if (!m_pInstance)
    return;

  if (Creature* pTwin =
      m_pInstance->GetSingleCreatureFromStorage(
        m_creature->GetEntry() == NPC_VEKLOR ?
                                  NPC_VEKNILASH :
                                  NPC_VEKLOR))
  {
      float fHealPercent = ((float)uiHealedAmount) /
                           ((float)m_creature->GetMaxHealth());

      uint32 uiTwinHeal =
        (uint32)(fHealPercent * ((float)pTwin->GetMaxHealth()));

      uint32 uiTwinHealth = pTwin->GetHealth() + uiTwinHeal;

      pTwin->SetHealth(uiTwinHealth < pTwin->GetMaxHealth() ?
                                      uiTwinHealth :
                                      pTwin->GetMaxHealth());
  }
}

Micro-Manager

V669 The 'offset' argument is a non-constant reference. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error. pgFocus.cpp 356


int pgFocus::GetOffset(double& offset)
{
  MM_THREAD_GUARD_LOCK(&mutex);
  deviceInfo_.offset = offset;
  MM_THREAD_GUARD_UNLOCK(&mutex);
  return DEVICE_OK;
}

Strange code. Most likely this is what should be written here: offset = deviceInfo_.offset;


CryEngine 3 SDK

V669 The 'outThreat' argument is a non-constant reference. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error. targettrackthreatmodifier.cpp 48


void CTargetTrackThreatModifier::ModifyTargetThreat(
  IAIObject &ownerAI, IAIObject &targetAI,
  const ITargetTrack &track,
  float &outThreatRatio,
  EAITargetThreat &outThreat) const
{
  if (track.GetTargetType() > AITARGET_SOUND &&
      outThreat >= AITHREAT_AGGRESSIVE)
  {
    outThreatRatio = 1.0f;
  }
}

Similar errors can be found in some other places:

  • V669 The 'chatter', 'actorId' arguments are non-constant references. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error. battlechatter.cpp 418

WinMerge

V669 The 'sel1' argument is a non-constant reference. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error. dirview.cpp 1322


bool CDirView::OpenOneItem(
  UINT_PTR pos1, DIFFITEM **di1, DIFFITEM **di2,
  String &path1, String &path2, int & sel1, bool & isDir)
{
  ....
  // Variable 'sel1' don't modified.
  ....
}