我的代码是.
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 – 未定义类型的类型转换所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)