E2158 Operand von 'delete' darf kein const-Zeiger sein (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index

Eine Variable, die kein Zeiger ist darf nicht gelöscht werden. Auch ein Zeiger auf eine Konstante darf nicht gelöscht werden.

Ein Beispiel:



 const int x=10;
    const int * a = &x;
    int * const b = new int;
    int &c = *b;
    delete a;   // unzulässig - Zeiger auf Konstante wird gelöscht
    delete b;   // zulässig
    delete c;   // unzulässig - Operand hat nicht den Zeigertyp
                // 'delete&c' stattdessen verwenden