Uyarı C6246

'variable' yerel bildirimi, dış kapsamda aynı ada ait bildirimi gizler. Ek Bilgi: 'location' konumunda önceki bildirime bakın.

Açıklamalar

Bu uyarı, iki bildirimin yerel kapsamda aynı ada sahip olduğunu gösterir. Dış kapsamdaki ad, iç kapsamdaki bildirim tarafından gizlenir. Dış kapsam bildiriminin amaçlanan herhangi bir kullanımı, yerel bildirimin kullanılmasına neden olur.

Kod analizi adı: LOCALDECLHIDESLOCAL

Örnek

Aşağıdaki kod bu uyarıyı oluşturur:

#include <stdlib.h>
#define UPPER_LIMIT 256
int DoSomething( );

int f( )
{
  int i = DoSomething( );
  if (i > UPPER_LIMIT)
  {
    int i;
    i = rand( );
  }
  return i;
}

Bu uyarıyı düzeltmek için aşağıdaki kodda gösterildiği gibi başka bir değişken adı kullanın:

#include <stdlib.h>
#define UPPER_LIMIT 256
int DoSomething( );

int f ( )
{
  int i = DoSomething( );
  if (i > UPPER_LIMIT)
  {
    int j = rand( );
    return j;
  }
  else
  {
    return i;
  }
}

Bu uyarı yalnızca bir kapsam çakışması tanımlar.