自定义class 与vector
来源:互联网 发布:网络毒鸡汤是什么意思 编辑:程序博客网 时间:2024/05/16 11:11
代码:
是通不过编译的,error C2558: class“MyClass”: 没有可用的复制构造函数或复制构造函数声明为“explicit”
原来是拷贝构造函数前必须加上const........(没有搞懂为什么)
也要报错: error C2679: 二进制“=”: 没有找到接受“const MyClass”类型的右操作数的运算符(或没有可接受的转换)
发现也是operator(Myclass &b)少加了const
但是这段代码放在mingw下编译却能通过.........
#include <stdio.h>#include <vector>using namespace std;class MyClass{public:MyClass(){printf("call constructor\n");};MyClass(MyClass &b){printf("call copy constructor\n");};};int main(){vector<MyClass> vec;MyClass a;vec.push_back(a);return 0;}
是通不过编译的,error C2558: class“MyClass”: 没有可用的复制构造函数或复制构造函数声明为“explicit”
原来是拷贝构造函数前必须加上const........(没有搞懂为什么)
后来又遇到一个奇葩的问题:
/* * test.cpp * * Created on: 2014-1-17 * Author: zhijian */#include <stdio.h>#include <vector>using namespace std;class MyClass{public:MyClass(){printf("call constructor\n");};MyClass(const MyClass &b){printf("call copy constructor\n");};MyClass &operator=(MyClass &b){printf("call operator = \n");return *this;}};int main(){vector<MyClass> vec;MyClass a;vec.push_back(a);return 0;}
也要报错: error C2679: 二进制“=”: 没有找到接受“const MyClass”类型的右操作数的运算符(或没有可接受的转换)
发现也是operator(Myclass &b)少加了const
但是这段代码放在mingw下编译却能通过.........
0 0
- 自定义class 与vector
- vector<class A> 与 vector<class *A>
- 自定义vector
- 自定义vector
- lotusscript--Vector class
- Vector class (1)
- The STL Vector Class
- The STL Vector Class
- class template std::vector
- vector<class> 的查找
- 15.自定义类VECTOR与操作符重载
- 自定义vector类(数据结构与算法C++)
- 利用vector与class完成的链表排序操作demo
- error LNK2005: “public: class std::vector<class std::vector<class std::vector<float>”
- vector 自定义find函数
- 自定义的vector
- C++自定义Vector模板
- vector自定义排序
- 如何在git下面配色
- NETDEV 协议 五
- iOS应用崩溃日志揭秘2
- C专家编程 笔记
- 易达火车票之12306抢票工具——预览
- 自定义class 与vector
- Python-Project Euler 24
- Java 反编译 JD-GUI / Jad / JadClipse
- MySQL MyISAM和InNodb备份与恢复技巧
- VO--value object/view object
- gcc源代码分析,语法树
- UVA 1467 - Installations(贪心)
- osx 下,fan qiang
- Android APK反编译详解