Freigeben über


Warnung C26486

Übergeben Sie keinen Zeiger, der als Parameter an eine Funktion ungültig (Dangling) sein kann.

void use(int*);

void ex1()
{
    int* px;
    {
        int x;
        px = &x;
    }

    use(px);  // px is a dangling pointer
}

Hinweise

Die Richtlinien für lebensdauer aus den C++-Kernrichtlinien enthalten einen Vertrag, dem Code folgen kann, der eine gründlichere statische Speicherlecks- und Dangling-Zeigererkennung ermöglicht. Die grundlegenden Ideen hinter den Richtlinien sind:

  • Leiten Sie niemals einen ungültigen (Dangling) oder einen bekannten Nullzeiger ab.
  • Gibt niemals einen Zeiger aus einer Funktion zurück (formaler Rückgabe- oder Ausgabeparameter).
  • Übergeben Sie niemals einen ungültigen Zeiger (Dangling) an eine beliebige Funktion.

Name der Codeanalyse: LIFETIMES_FUNCTION_PRECONDITION_VIOLATION

Siehe auch