c++ vector装载自定义类报错:CController& operator=(const CController& controller)

来源:互联网 发布:市妇科医院网络咨询 编辑:程序博客网 时间:2024/04/30 00:37
在开发mfc程序时,发现往vector装入自定义类型时候报错:CController& operator=(const CController& controller)


根据错误信息发现,CController类需要重载=号运算符,之后问题解决。

#pragma once#include "Bar.h"/** 控制器* @version 1.0* @author 孙磊* @since 2012-8-1*/class CController : public CWnd{DECLARE_DYNAMIC(CController)public:CController();CController(const int& left, const int& top, const int& width, const int& height);//拷贝构造函数CController(const CController& controller);//重载=CController& operator=(const CController& controller);//设置边距void setBound(const int& left, const int& top, const int& width, const int& height);void setBound(const Rect& bound);virtual ~CController();void Draw(CDC* pDC);private:int top;    //控制器上边距int left;   //控制器左边距int width;  //控制条的宽度int height; //控制条的高度int barHeight; //控制器上部高度int titleHeight; //控制器下不高度(用于显示文字)CBar bar;protected:DECLARE_MESSAGE_MAP()};


Cshipmonitor_vcView::Cshipmonitor_vcView(){// TODO: 在此处添加构造代码vector<CController> v(2);CController controller1(300,10,90,350);v.push_back(controller1);}