【发布时间】:2017-07-10 03:11:37
【问题描述】:
#include <iostream>
#include <vector>
using namespace std;
class dog {
public:
dog() {}
dog(dog & d) {
}
};
int main() {
vector<dog> vec;
dog d;
vec.push_back(d);
return 0;
}
我无法将 dog 插入向量中。问题在于复制构造函数。如果我在复制构造函数中添加 const,代码就会编译。我只是想知道为什么我必须在复制构造函数中添加 const。
错误信息是:
错误:将“const dog”绑定到“dog&”类型的引用会丢弃限定符
【问题讨论】:
标签: c++ vector copy-constructor