You seem to have misunderstood what the delete keyword does. It invokes the destructor for the object pointed to by a pointer, and then frees up dynamically allocated memory pointed to by that pointer. You should only ever use it with dynamically allocated memory.
It doesn't magically remove the variable altogether from your code. The variable - a pointer - still exists, and you can't just re-declare it.