Quote Originally Posted by mikro
is it normal that you can't delete a pointer of a type that is only forward-declarated?
Yes, forward declaration only tells the compiler that such class exists, but the compiler has to know where exactly the destructor is located to be able to use it --- forward declaration doesn't provide this information.