web-dev-qa-db-ja.com

不明なタイプ名クラス

次のヘッダーファイルがあります。

https://Gist.github.com/wemakeweb/550144 であり、コンパイラーは常に "Unknown Type name Class"と報告します。私はする必要があると思うところを含む循環を破るために、私は前方宣言を含めました。何を忘れましたか?

Edit:すべてを1つのヘッダーファイルに入れますが、コンパイラは「expect; after top level declarator」と報告します

https://Gist.github.com/wemakeweb/55835

Edit 2リンカエラーを取得しています。 「アーキテクチャx86_64の未定義のシンボル」

解決済み、問題はありました

  1. 円形を含む
  2. main.cppの代わりにmain.c
  3. 実際のコードは、適切にリンクされていない静的ライブラリにありました
16
Sebastian Otto

このエラー? error: unknown type name ‘class’

おそらくC++ではなくCとしてコンパイルしています。

ソースファイルの拡張子が.cppであり、関連するコンパイラフラグが正しく設定されていることを確認してください。 (exactエラーメッセージと行番号を含めると役立ちます。再入力せずに、カットアンドペーストするだけです。)

26
Roddy

Feld.hFigur.hの間に少なくとも1つの循環インクルード依存関係があります。ヘッダーも含める場合、前方宣言は効果がありません。インクルードを削除するだけです。

6
juanchopanza