博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++异常:no matching function for call to "Matrix(Matrix&)"
阅读量:5232 次
发布时间:2019-06-14

本文共 424 字,大约阅读时间需要 1 分钟。

C++异常:no matching function for call to "Matrix(Matrix&)"

 

我定义了一个类叫Matrix,其中构造函数explicit Matrix(const Matrix& source);

也写了一个方法:

Matrix Matrix::myFun(const Matrix &source)

{
  ...
    return *this;
}

编译报出上面的异常来,原因是explicit关键字抑制隐式转换,当我返回*this的时候相当于:Matrix myMatrix = *this,由于禁止隐式转换,所以这个是报错的。

当我删掉explicit关键字后,发生了隐式转换:Matrix tmp(*this),然后调用编译器提供的默认复制构造函数Matrix myMatrix(tmp)。则顺利通过编译。

转载于:https://www.cnblogs.com/Shirlies/p/3719892.html

你可能感兴趣的文章
Linux安装程序Anaconda分析
查看>>
如何在chrome上打开SSL3.0
查看>>
应该是实例化对象的没有对属性赋值时,自动赋值为null,但不是空指针对象引用...
查看>>
从网易与淘宝的font-size思考前端设计稿与工作流
查看>>
原生HttpClient详细使用示例
查看>>
几道面试题
查看>>
搜索引擎-SHODAN
查看>>
Factory Design Pattern
查看>>
python中贪婪与非贪婪
查看>>
guava API整理
查看>>
无锁编程笔记
查看>>
jquery mobile
查看>>
如何在vue单页应用中使用百度地图
查看>>
Springboot使用步骤
查看>>
Spring属性注入
查看>>
Springboot-配置文件
查看>>
Springboot-日志框架
查看>>
SpringBoot-thymeleaf
查看>>
P1908-逆序对
查看>>
P1192-台阶问题
查看>>