Prevent delete on pointer in C++

Viewed 16438

Is there any way to prevent deleting a pointer in C++ by its declaration?

I've tried following code without luck.

const int* const foo()
{
    static int a;
    return &a;
}

int main()
{
    const int* const a = foo();

    *a = 1;   //compiler error, const int*
    a++;      //compiler error, int* const
    delete a; //no compiler error, I want to have compiler error here

    return 0;
}
5 Answers
Related