E2158 Operand of 'delete' must be non-const pointer (C++)
Go Up to Compiler Errors And Warnings (C++) Index
It is illegal to delete a variable that is not a pointer. It is also illegal to delete a pointer to a constant.
For example:
const int x=10; const int * a = &x; int * const b = new int; int &c = *b; delete a; //illegal - deleting pointer to constant delete b; //legal delete c; //illegal - operand not of pointer type //should use 'delete&c' instead