0

短くします。

私は2つのクラスを持っています:AppleOrange、次のように:

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"ですか?

4

1 に答える 1