nieprawidłowa konwersja z 'const char *' na 'char *'

Masz kod pokazany poniżej. Mam problem z przekazaniem argumentów.

stringstream data;
char *addr=NULL;
strcpy(addr,retstring().c_str());

retstring() jest funkcją, która zwraca ciąg znaków.

//more code
printfunc(num,addr,data.str().c_str());

Dostaję błąd

nieprawidłowa konwersja z 'const char *' na 'char *'.

argument inicjujący 3 z 'void Printfunc (int, char *, char *)' na argument 3 funkcji

na powyższej linii. Funkcja jest wywoływana jak pokazano poniżej

void Printfunc(int a, char *loc, char *stream)

daj mi znać, jeśli muszę zmienić jakąkolwiek inicjalizację.

questionAnswers(3)

yourAnswerToTheQuestion