我有两个头文件.decimal.h和integer.h,每个都包含它们各自的类.我想写这样的东西.
//integer.h #ifndef INTEGER_H #define INTEGER_H #include "decimal.h" class Integer { ... operator Decimal(); } #endif //decimal.h #ifndef DECIMAL_H #define DECIMAL_H #include "integer.h" class Decimal { ... operator Integer(); } #endif
给我带来麻烦的是,因为它们包含了它,所以它在Visual Studio中表现得很奇怪并且产生奇怪的编译器错误.有没有办法解决?
也许你只想要一个前瞻宣言?
// In Integer.h class Decimal; class Integer { ... operator Decimal(); };
(顺便说一句,你错过了代码中的最后一个分号.)