c – 未定义类型的类型转换

c – 未定义类型的类型转换,第1张

概述如何为前向声明的类实现类型转换 *** 作符. 我的代码是. class CDB;class CDM{public: CDM(int = 0, int = 0); operator CDB() const //error { }private: int m_nMeters; int m_nCentimeters;};class 如何为前向声明的类实现类型转换 *** 作符.
我的代码是.

class CDB;class CDM{public:    CDM(int = 0,int = 0);    operator CDB() const  //error    {    }private:    int     m_nMeters;    int     m_nCentimeters;};class CDB{public:    CDB(int = 0,int = 0);    operator CDM() const  //error    {    }private:    int     m_nFeet;    int     m_nInches;};

当我编译它时,我得到一个错误

错误C2027:使用未定义类型’CDB’

解决方法 只需声明转换运算符.之后定义它们(在完全定义类之后).例如.:

class CDB;class CDM{public:    CDM(int = 0,int = 0);    operator CDB() const; // just a declarationprivate:    int     m_nMeters;    int     m_nCentimeters;};class CDB{public:    CDB(int = 0,int = 0);    operator CDM() const // we're able to define it here already since CDM is already defined completely    {        return CDM(5,5);    }private:    int     m_nFeet;    int     m_nInches;};CDM::operator CDB() const // the deFinition{    return CDB(5,5);}
总结

以上是内存溢出为你收集整理的c – 未定义类型的类型转换全部内容,希望文章能够帮你解决c – 未定义类型的类型转换所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1216204.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存