[英]c++ STL vector is not acccepting the 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;
}
我得到的错误是
错误1错误C2558:类'A':没有可用的复制构造函数或复制构造函数被声明为'显式'c:\\ program files \\ microsoft visual studio 10.0 \\ vc \\ include \\ xmemory 48 1删除
有人请帮帮我
复制构造函数应该将对象作为const引用,因此它应该是:
A(const A &a){ cout << "Copy Constructor of A is acting" << endl; }
认为复制构造函数需要const ref
尝试
A(const A &a) { cout << "Copy Constructor of A is acting" << endl ; }
希望有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.