pra*_*ran 5 c++ stl copy-constructor
我写了一个代码(c ++,visual studio 2010),它有一个向量,即使我虽然声明了复制const,但仍然显示未声明复制const
这里的代码
#include<iostream>
#include<vector>
using namespace std;
class A
{
public:
A() { cout << "Default A is acting" << endl ; }
A(A &a) { cout << "Copy Constructor of A is acting" << endl ; }
};
int main()
{
A a;
A b=a;
vector<A> nothing;
nothing.push_back(a);
int n;
cin >> n;
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
错误1错误C2558:类'A':没有可用的复制构造函数或复制构造函数被声明为'显式'c:\ program files\microsoft visual studio 10.0\vc\include\xmemory 48 1删除
有人请帮帮我
rek*_*o_t 17
复制构造函数应该将对象作为const引用,因此它应该是:
A(const A &a){ cout << "Copy Constructor of A is acting" << endl; }
Run Code Online (Sandbox Code Playgroud)
小智 5
认为复制构造函数需要const ref
尝试
A(const A &a) { cout << "Copy Constructor of A is acting" << endl ; }
Run Code Online (Sandbox Code Playgroud)
希望有所帮助
| 归档时间: |
|
| 查看次数: |
2471 次 |
| 最近记录: |