Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
Examples of errors detected by the...

Examples of errors detected by the V669 diagnostic

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.
  ....
}