混乱しているタイトルのため申し訳ありませんが、私は自分の質問を語る良い方法を考えることができませんでした。元のファイルを含めてファイル内でのみ宣言されるオブジェクトを使用してください
私はファイルFoo.cpp
で宣言されているクラスFoo
を持っています。
Foo.cpp
ただし、ファイルBar.h
があり、クラスBar
はオブジェクトFoo
の新しいインスタンスを作成しようとします。もちろん、私は未定義の識別子エラーを取得します。私はそれぞれの静的メンバーにアクセスする必要があるので、各ファイルに両方のヘッダーを含める必要があります。
この機能を実現する方法はありますか?
例: がfoo.h
#ifndef FOO_H
#define FOO_H
#include "Bar.h"
class Foo
{
public:
Foo()
{
_newNum = Bar::_num;
}
private:
int _newNum
};
Bar.h
#ifndef BAR_H
#define BAR_H
#include "Foo.h"
class Bar
{
public:
static int _num;
private:
Foo f; // Error occurs here, Foo is undefined according to Foo.h.
};
EDIT:非常に下手に書かれた質問にはAHHH申し訳ありません。私はとても疲れています。一定。
クラス宣言の後にセミコロン( ';')がありませんか?なぜ 'Bar.h'に' Foo.h'を含めるのですか? – user0042
'Foo'は、' Foo'を使う必要がある 'Bar'が' Bar.h'を含むのはなぜですか?これは単純に間違った方法だと思われる – UnholySheep
私のエラーを訂正していただきありがとうございます – chickenwingding