c++ swap函数使用时出现segmentation fault

qq_33280731 2017-10-16 11:29:28
如下定义了一个class Nombre, 在unittest 中使用 std::swap函数对Nombre n1 和Nombre n2操作时, 报错segmentation fault, 请问是怎么回事呢?
完整代码:https://github.com/GUO-W/TD5
...全文
358 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xskxzr 2017-10-18
  • 打赏
  • 举报
回复
三五法则,没重载拷贝赋值运算符。
开源学开源 2017-10-18
  • 打赏
  • 举报
回复
template<class T> void swap(T* a, T* b) { T temp; temp = *a; *a = *b; *b = temp; } 我看不见图!这是我一篇博客写的swap!希望能帮到你
开源学开源 2017-10-18
  • 打赏
  • 举报
回复
自己写一个swap函数不就行了?
qq_33280731 2017-10-17
  • 打赏
  • 举报
回复
请问是不是还需要写一个移动构造函数呢?以及一个对应的运算符=重载函数?
  • 打赏
  • 举报
回复
楼上正解,或者看看effective c++里面关于swap的讲解。
sdghchj 2017-10-17
  • 打赏
  • 举报
回复
默认的swap就是用到了拷贝构造函数和赋值运算重载,你自己断点调试这两个函数吧。

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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