以下代碼:C++編譯錯誤枚舉 「沒有指定類型」
foo.h中
#include "bar.h"
class foo{
public:
enum my_enum_type { ONE, TWO, THREE };
foo();
~foo() {}
};
Foo.cpp中
foo::foo()
{
int i = bar::MY_DEFINE;
}
bar.h
#include "foo.h"
class bar{
public:
static const int MY_DEFINE = 10;
foo::my_enum_type var;
bar() {};
~bar() {};
};
使g ++編譯器抱怨my_enum_type「沒有命名一種」。 爲什麼? 所有標題都有多個包含定義(爲清晰起見,此處未顯示)。
感謝
這應該很好...... – 2010-10-27 10:28:50
你如何使用這些類?您在這裏還沒有源文件。你能分享你如何使用這些類嗎? – 2010-10-27 10:30:57
謝謝你們,你讓我意識到問題不在於語法,而在於我如何使用這些類。在foo.h中有一個#include「bar.h」,我用一個前向聲明取代了它,現在一切正常! – 2010-10-27 10:35:17