有如下所示的代码。我有问题通过参数。从'const char *'到'char *'的无效转换
stringstream data;
char *addr=NULL;
strcpy(addr,retstring().c_str());
retstring()是一个返回字符串的函数。
//更多代码
printfunc(num,addr,data.str().c_str());
我得到的错误
从 '为const char *' 到 '字符*' 无效的转换。
初始化的功能
上述线的参数3 '空隙Printfunc(INT,字符*,字符*)' 的参数3。该函数被调用如下所示
void Printfunc(int a,char *loc, char *stream)
请让我知道如果我需要更改任何初始化。
编译器希望将char *流更改为const char *流 – marcinj
下面的答案处理编译错误,但您还需要为传递给'strcpy'的目标缓冲区分配一些内存 - 您不能仅仅通过NULL指针作为目标参数 – mathematician1975
调用'data.str().c_str()'可能会有令人惊讶的结果。 – Chad