c++指针指向字符串的问题
阿神
阿神 2017-04-17 11:49:08
[C++讨论组]
strcpy(this->name,name);

其中this->name 中的name是一个字符串,报错是在this上,说this->name这个是**char类型的实参,与char类型的形参不兼容。
this->name 不应该是
char类型的吗?

我像下面这样写之后就不报错了:

Book::Book(char * name,char * WriterName):Publication(name)
{
    strcpy(*this->name,name);
}

我要给name赋值就要这样写吗?为什么要这样写?

阿神
阿神

闭关修行中......

全部回复(3)
伊谢尔伦

这取决于 name 成员的定义。

cppchar * name[20];

这里 name 的类型等同于 char**。而 strcpy 的参数类型是 char*,报错是必然了咯。

巴扎黑

this->name这个是**char类型的实参

这个写错了吧??

怪我咯

看不懂你的错误提示,能贴一个name的定义吗?
std::string name的话
就可以

cppclass Foo {
public:
std::string name;

public:
void setName(const char* name) {
this->name = name;
}
};

了;

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号