You can only delete what you new'ed. Because you didn't new the string, you cannot call delete on it. That's why you get the assertion.
Moreover, any string literal should be const char (http://sourceforge.net/apps/mediawik..._be_const_char).
You should not be using void main (http://sourceforge.net/apps/mediawik...itle=Void_main).
You can get rid of the "void" inside void main(void) too.
And an information article on T* vs T *: Stroustrup: C++ Style and Technique FAQ