MFC 双击控件 提示重载函数已存在



      VS2013 界面双击按钮控件,提示重载函数已存在,一般情况下,双击控件都是可以跳到代码处的,为什么现在不能了?

      这涉及到VS2013的自动生成问题 。 

      原因:双击控件跳到代码处时,除了自动生成函数名,头文件还得生成函数声明,此时如果不保存文件,虽然C文件没有了这个函数,可是头文件还有声明,当再次双击控件,VS2013一检查头文件发现有该控件函数声明,就会提示出错!


protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	//afx_msg void OnBnClickedCancel();   自动生成声明以及头文件~~~~~~~~~~~~~~~~~!!!!!!!!!!
	//afx_msg void OnStnClickedSummandStatic();
	//afx_msg void OnStnClickedAddendStatic();
	//afx_msg void OnStnClickedSumStatic();
	afx_msg void OnEnChangeSummandEdit();
	//afx_msg void OnEnChangeAddendEdit();
	afx_msg void OnEnChangeSumEdit();
	//afx_msg void OnStnClickedSummandStatic();
	afx_msg void OnStnClickedAddendStatic();
	afx_msg void OnStnClickedSumStatic();
	afx_msg void OnEnChangeAddendEdit();
	afx_msg void OnStnClickedSummandStatic();
};




class IPM { private: // Sizes cv::Size m_origSize; cv::Size m_dstSize; // Points std::vector<cv::Point2f> m_origPoints; std::vector<cv::Point2f> m_dstPoints; // Homography cv::Mat m_H; cv::Mat m_H_inv; // Maps cv::Mat m_mapX, m_mapY; cv::Mat m_invMapX, m_invMapY; void createMaps(); public: IPM( const cv::Size& _origSize, const cv::Size& _dstSize, const std::vector<cv::Point2f>& _origPoints, const std::vector<cv::Point2f>& _dstPoints ); // Apply IPM on points cv::Point2d applyHomography(const cv::Point2d& _point, const cv::Mat& _H); cv::Point3d applyHomography( const cv::Point3d& _point, const cv::Mat& _H); cv::Point2d applyHomography(const cv::Point2d& _point); cv::Point3d applyHomography( const cv::Point3d& _point); cv::Point2d applyHomographyInv(const cv::Point2d& _point); cv::Point3d applyHomographyInv( const cv::Point3d& _point); void applyHomography( const cv::Mat& _origBGR, cv::Mat& _ipmBGR, int borderMode = cv::BORDER_CONSTANT); void applyHomographyInv( const cv::Mat& _ipmBGR, cv::Mat& _origBGR, int borderMode = cv::BORDER_CONSTANT); // Draw void drawPoints( const std::vector<cv::Point2f>& _points, cv::Mat& _img ) const; //******************************************************************************************** //* SETTERS AND GETTERS //******************************************************************************************** cv::Mat getH() const { return m_H; } cv::Mat getHinv() const { return m_H_inv; } void getPoints(std::vector<cv::Point2f>& _origPts, std::vector<cv::Point2f>& _ipmPts); }; IPM::IPM( const Size& _origSize, const Size& _dstSize, const vector<Point2f>& _origPoints, const vector<Point2f>& _dstPoints ): m_origSize(_origSize), m_dstSize(_dstSize), m_origPoints(_origPoints), m_dstPoints(_dstPoints){ m_H = getPerspectiveTransform( m_origPoints, m_dstPoints ); m_H_inv = m_H.inv(); createMaps(); } IPM::IPM ipm( Size(imgG.cols, imgG.rows), Size(imgG.cols, imgG.rows), orgPts, dstPts ); // IPM object ipm.applyHomography( imgG, imgIpm ); 鼠标放在IPM::IPM ipm时会出现无法确定需要哪个重载函数 错误提示“IPM::{ctor}”: 函数调用缺少参数列表;请使用“&IPM::{ctor}”创建指向成员的指针 “ipm”: 找不到标识符
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页