我会简短地说。
我有 2 个类:Apple
和Orange
,如下所示:
Apple.h
(Apple.c
为空白)
#ifndef APPLE_H_
#define APPLE_H_
class Apple {};
#endif /* APPLE_H_ */
Orange.h
:
#ifndef ORANGE_H_
#define ORANGE_H_
#include "Apple.h"
class Orange {
public:
Orange();
virtual ~Orange();
operator Apple ();
};
#endif /* ORANGE_H_ */
Orange.cpp
:
#include "Orange.h"
Orange::Orange() {
// TODO Auto-generated constructor stub
}
Orange::~Orange() {
// TODO Auto-generated destructor stub
}
Orange::operator Apple() {
Apple y;
return y;
}
正如这些,这些作品很棒。
但是当我添加#include "Orange.h"
到时Apple.h
,我得到了'operator Apple' is not a recognized operator or type
错误。
如下:
#ifndef APPLE_H_
#define APPLE_H_
#include "Orange.h"
class Apple {};
#endif /* APPLE_H_ */
造成了什么问题#include "Orange.h"
?