【发布时间】:2010-05-28 16:09:10
【问题描述】:
我编写了一个包含向量的代码(c++,visual studio 2010),即使我声明了 copy const,但仍然显示未声明 copy 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 delete
请大家帮帮我
【问题讨论】:
-
请返回并接受您之前一些问题的答案,否则人们可能不愿意回答这个问题。
-
怎么做,其实我不知道我是新手
-
返回您提出的问题,然后单击最佳答案旁边的复选标记 ✔。
-
请注意,就像 Neil Butterworth 所说,复制构造函数 可以 被编写为采用非常量引用。但是对于标准容器,您的复制构造函数应该使用 const 引用作为参数类型
标签: c++ stl copy-constructor