严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E0289 没有与参数列表匹配的构造函数 "deepCopy::deepCopy" 实例 deepCopyDemo
class deepCopy { public: // deepCopy(int deepNo1, char *deepStr1)
deepCopy(int deepNo1, const char *deepStr1)//加上const就不会报错了 { deepNo = deepNo1; deepStr = new char[1024]; if (deepStr != 0) { strcpy(deepStr, deepStr1); } } public: int deepNo; char *deepStr; };
deepCopy(int deepNo1, const char *deepStr1) 不需要修改的传入指针,能用 const 时候就用const。这样有大好处。首先可以接受隐含转换,其次,可以接受""字符串。 不需要改动类成员变量的函数,全部后置声明 const,这样,可以从const类型的类实例调用函数。