Looking at this code, it seems that _ps is a pointer to a string object.
_ps->copy is an attempt to use the string class function named copy.
Here is the prototype of that function. size_t copy (char* s, size_t len, size_t pos = 0) const;
So the first parameter has to be a char-pointer. You're trying to use _pt, which is a string-pointer. A char-pointer and a string-pointer are different things. The function expects a char-pointer, you're trying to use a string-pointer.
What are you actually trying to do here? You've got a string; are you trying to make an exact copy of that string, or are you trying to copy only some of the letters of that string? There are much better ways to do this than for you to use the copy function (and why are you creating that string on the heap, with new? - if you don't have a good reason to do that, you're just making things much harder for yourself)