Hello, Sorry if i misunderstand your code. I do not see the line where Impl is assigned a valid value. I would expect something like this: Impl = new myType; Without that the private data member ptr_ of SmartPtr does not have a valid value, this is what the error message is telling you. Ali