2016-03-31 5 views
-1

visual studio 2015 enterpriseを使用しています。私はItemクラスItem.cppを持っています。プレイヤーに設定項目を割り当て、その未装備アイテムプレーヤークラス内にオブジェクトを作成できません

class Player{ 

    #include "Player.h" 

    Item items[3]; 
    vector<Item> storedItems; 

} 

私は項目を定義するために言って、エラーを得続けるためにベクトルを持ってしようとすると、しかし、と私は確かにまだItemクラスを持っています。私が継承を試み、 'Ring'クラスがアイテムを継承するようにすると、再びItemの定義を見つけることができなくなります。私はあなたがItem.hを持っていることを確認し

ここPlayer.hで
+2

'の#include「Player.h」'文はプリプロセッサコマンドです'' Player.h ''ファイルの内容に置き換えられます。クラス定義の外に配置する必要があります。 '#include'は通常ソースファイルとヘッダの最初の行です。 – gomons

+1

なぜ私はクラス宣言の**中**にプリプロセッサ '#include 'を埋め込んでいるのかと聞くことがありますか? – WhozCraig

+0

私はエラーが発生しており、これで削除されました。 – mewc

答えて

1

をいくつかの重要な構文が欠けてるよう上部にあるファイルを含める:

#include "Item.h" 
class Player { 
    Item items[3]; 
    vector<Item> storedItems; 
} 
+0

別のクラスのオブジェクトを使用している場合、それを使用するには、ヘッダファイル内の他のクラスをインポートする必要がありますか? – mewc

関連する問題