2012-03-29 24 views
0

私はC++でDynArray var_nameを宣言しましたが、コンパイルするとエラー "不完全な型は許されません" 私は検索しようとしましたが、何も動的配列の例を思いつきませんでした。 誰でもエラーを説明できますか?おかげさまで 不完全な型のC++

+5

コードを表示できますか? – birryree

+0

//temp.h プライベート:DynArray the_array; //temp.cpp の the_array.append( "hello"); – CamAd

+0

@anjali:答えを編集し、コードを貼り付けてからコードを強調表示し、 '{}'ボタンを押してインデントしてから、もう一度送信してください –

答えて

0

"不完全型が許可されていません"とは、通常、クラスが宣言されていますが、完全な定義が必要な時点で定義されていないことを意味します。

これは時々理由ヘッダーに循環依存関係の起こる、

クラスAの定義がクラスBの定義とその逆に依存 - ああBhのを含めるさせ、その後、Bhのああ含めるのを試してみたができませんヘッダーガードがすでに定義されているので、それはスキップしたが、その後のみA.

0

あなたはヘッダファイルC.hであなたのクラスCにメンバ変数xを定義する場合のFWD供述を取得しますので、あなたはのヘッダーを含める必要がありますクラスXX.h)はC.hです。しかし、あなただけのCのメンバーとしてXへのポインタを格納している場合は、あなたがclass C{...};を宣言する前にclass X;を宣言転送することができますし、xの任意のメンバーにアクセスするならば、定義ファイルC.cppに、あなたはX.hを含める必要があります。

関連する問題