请问c++中operator重载函数的参数类型一定是类的类型吗?
问题描述:
定义: int operator +(int a[2][3],int b[2][3]) //其中a,b是二维数组
程序编译失败
定义: matrix operator +(matrix a[2][3],matrix b[2][3]) //其中a,b是类matrix的对象
程序编译成功
请问c++中operator重载函数的参数类型一定是类的类型吗?
答
没有这个规定的,参数类型可以是C++内建的类型或者是自定义的数据类型,具体的编译失败,还需要看编译器具体报的什么错误
答
c++标准中并没有这个规定;