以下代码产生编译错误,invalid conversion from 'const char*' to 'char*'. 双方ptrInputFileName并ptrFileName都被宣布为const char*。关于如何编译它的任何建议?谢谢你。
TextInputBuffer::TextInputBuffer(const char *ptrInputFileName)
: ptrFileName(new char[strlen(ptrInputFileName) + 1])
{
//--Copy the file name.
std::strcpy(ptrFileName, ptrInputFileName);
Run Code Online (Sandbox Code Playgroud)
小智 5
显然,您不能复制到 const * 指向的内容中 - 删除 const,如果这导致调用构造函数出现问题,那么您所做的事情在语义上是无效的。
此外,您使用伪匈牙利语会使代码难以阅读。去掉ptr前缀,让名字更短。
| 归档时间: |
|
| 查看次数: |
2253 次 |
| 最近记录: |