问题描述
- 求助为何加号重载失败
- #include
#include
using namespace std;struct A {
int n;
A() { };
A(int n_ ):n(n_) { }
A operator+( A& p){
A tmp(n+p.n);
return tmp;
}
};int main()
{
A c;
const A a(10);
c = a + A(30);
cout << c.n << endl;
return 0;
}
解决方案
#include <iostream>#include <string>using namespace std;struct A {int n;A() { };A(int n_ ):n(n_) { }A operator+(A p) const {A tmp(n+p.n);return tmp;}};int main(){A c;const A a(10);c = a + A(30);cout << c.n << endl; return 0;}
解决方案二:
http://codepad.org/x5aI9sHR
在线编译通过
时间: 2024-07-31 11:53:19