请问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重载函数的参数类型一定是类的类型吗?

2个回答

没有这个规定的,参数类型可以是C++内建的类型或者是自定义的数据类型,具体的编译失败,还需要看编译器具体报的什么错误

c++标准中并没有这个规定;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问