在没有适当operator()的情况下调用类类型对象

sinat_27233737 2017-04-19 09:33:15

红线部分,我记得string初始化可以使用()啊?为什么这里只能使用等号?
...全文
12683 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vnvlyp 2017-04-20
  • 打赏
  • 举报
回复
这样的复制构造函数是有,但是你这不是在调用构造函数啊。。 string不存在你这样的语法的,std::string(name)你说的是这样吧。。
赵4老师 2017-04-20
  • 打赏
  • 举报
回复
提醒:string是开源的,其源代码是include\string
paschen 2017-04-20
  • 打赏
  • 举报
回复
引用 3 楼 sinat_27233737 的回复:
[quote=引用 2 楼 paschen 的回复:] 因为这里不是初始化啊 构造函数有个初始化列表,那里可以这样用
但是单独用string也可以这样初始化吧?我记得string里有这样的构造函数啊? 是不是因为bookNo在定义的时候已经默认初始化了,所以这里只能算是赋值而不是初始化? 其实我一直想不明白,在构造函数初始化列表中初始化和在定义时默认初始化有什么区别?能不能请教一下呢?[/quote] 你现在不是初始化,也不是构造函数 初始化列表里的才是初始化,用等号的只赋值而已,调用的是拷贝构造函数了,对象已经初始化了
sinat_27233737 2017-04-19
  • 打赏
  • 举报
回复
引用 2 楼 paschen 的回复:
因为这里不是初始化啊 构造函数有个初始化列表,那里可以这样用
但是单独用string也可以这样初始化吧?我记得string里有这样的构造函数啊? 是不是因为bookNo在定义的时候已经默认初始化了,所以这里只能算是赋值而不是初始化? 其实我一直想不明白,在构造函数初始化列表中初始化和在定义时默认初始化有什么区别?能不能请教一下呢?
paschen 2017-04-19
  • 打赏
  • 举报
回复
因为这里不是初始化啊 构造函数有个初始化列表,那里可以这样用
xskxzr 2017-04-19
  • 打赏
  • 举报
回复
因为你这不是初始化。

33,317

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧