【发布时间】:2021-06-06 15:36:48
【问题描述】:
我试图在某个课程中为 name 创建一个设置器,但我遇到了这个问题。
void Cats::setName(char* s) {
if (this->name != NULL) {
delete[] name;
name = new char[strlen(s + 1)];
strcpy_s(s, strlen(name) + 1, name);
}
}
这是二传手,我不能为我的任何Cat 写任何名字。
Cats::Cats() {
setName("NoName"); <----- problem here and in other constructors also.
setWeight(0.6);
setAge(0);
}
“const char *”类型的参数与“char *”类型的参数不兼容
我怎样才能做到这一点?我错过了什么?一个解释会很棒。
【问题讨论】:
-
注意
strlen(s + 1)必须是strlen(s) + 1。
标签: c++