短くします。
私は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"
ですか?