[C++] Jak wyczyścić pamięć?

Piszę sobie prosty kalkulator.

Oto jego kod:

http://wklej.org/id/25300/

Mój problem polega na tym, że gdy wpiszę niepoprawne równanie program wyświetla komunikat po czym się zapętla i nie da się go “odpętlić”. Wydaje mi się że problem polega na tym, ze zmienne a, znak, b pozostają w pamięci. Jak je więc z pamięci usunąć?

operator delete?

“type ‘int’ argument given to ‘delete’, expected pointer”

co z tym zrobić?

Jedno z rozwiązań: http://wklej.org/id/25327/

To powoduje wywalenie programu, nie zaś poprawne rozpoczęcie nowej pętli

A w czym kompilujesz ?