Aracılığıyla paylaş


C28183

uyarı C28183: Değişken bir değer olabilir,ve işaretçi içinde bulunan bir değerin kopyasıdır.

Bu uyarı, bu değerin geçerli bağlamda beklenmeyen olduğunu gösterir.Bu uyarı genellikle NULL değeri bir ona izin vermeyen bir işleve argüman olarak geçirildiğinde görünür.Aslında değer, belirtilen değişkende bulundu, ve bağımsız değişken bu değişkenin bir kopyasıdır.

Kod Çözümleme aracı bu uyarıyı ilk defa ilk noktada, yani kesinlikle işaretçi NULL olduğunda veya geçersiz bir değer içerdiğinde gösterir.Ancak, genellikle aslında izlemenin erken vakitlerinde hata oluştuğunda oluşturulur.Bu gerçekleştiğinde, Kod Çözümleme aracı da ilk olası örneğin numarasını verir -- genellikle uyarının uygun olduğunu belirleyemediği konumlarda.Bu gibi durumlarda, bir uyarı iletisi mesajının eklendiği önceki konumlarda oluşabilir.Genellikle, bir kod değişikliği satır numarasında veya satır numarasından önce oluşur, daha iyisi rapor noktasında gerçekleşmesidir.

Örnek

Aşağıdaki örnekte, Kod Çözümleme aracı s öğesinin if ifadesi içinde NULL olduğunu tanımlar ve if öğesinin gövdesi alınır.İşaretçi s sonra t 'ye atanır ve sonra t burada NULL başvuru gerçekleşebildiğinde kullanılır.

#include <windows.h>

int fun2(char *s)
{
    char *t;
    if (s == NULL) {
       //... but s is unchanged 
    }

    t = s;

    return lstrlenA(t);
}

Bu kod örneği için, Kod Çözümleme aracı, aşağıdaki uyarı raporlar: