[英]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.