私はmain.cで宣言したプリプロセッサ変数を別のプロジェクトのCソースファイルに使用しようとしていますが、main.c:undefined symbol 'mysymbol'からコンパイルエラーが発生します。さて、それが含まれているファイルの外側に#define
の使用に関するルールは何ですか?今#defineされた変数の有効範囲は何ですか?
1
A
答えて
9
、側の#defineの使用をに関するルールが何であるか、それが
A #define
含まれる ファイルは、そのファイルの外側に表示されていません。それが定義されているファイルの外側で可視にする唯一の方法は、そのファイルを含めることです。
したがって、main.c
とその他のファイルの両方に含まれるヘッダーに挿入する必要があります。
3
#define
をヘッダーに、#include
を参照するすべてのファイルに入れてください。
関連する問題
- 1. Python関数の有効範囲は何ですか?
- 2. Javascriptのステートメントヘッダーのローカル変数の有効範囲は何ですか?
- 3. 関数、ファイル、またはプロジェクトのパブリック・ロックの有効範囲は何ですか?
- 4. 公開Angular2 +クラスのプロパティの有効範囲は何ですか?
- 5. 名前のない値の有効範囲は何ですか?
- 6. `defineマクロの範囲
- 7. グローバル配列に追加されるローカル変数の有効範囲は何ですか?
- 8. SET IDENTITY_INSERT xyz ONの有効範囲は何ですか?
- 9. HTTPセッションの有効範囲は何ですか?
- 10. glVertexAttribPointerとglEnableVertexAttribArrayの有効範囲は何ですか?
- 11. LoaderManagerの有効範囲は何ですか?
- 12. PostgreSQL Temp Tableの有効範囲は何ですか?
- 13. djangoのクラス変数とインスタンス変数の有効期間と有効範囲
- 14. ini_set()の有効範囲は?
- 15. ステートレスBeanで注入されたEntityManagerの有効範囲/ライフサイクル
- 16. aspx.net指定された引数が有効な値の範囲外です
- 17. ColdFusionでのコンポーネント有効範囲変数の定義
- 18. richfacesメッセージの有効範囲
- 19. IdentityServerの有効範囲
- 20. C#プラグマディレクティブの有効範囲
- 21. 指定された引数が有効な値の範囲外だった
- 22. main関数で宣言された変数の範囲は?
- 23. 角度jsのng-repeatブロック内の変数の有効範囲は何ですか?
- 24. ブロックハンドラ内の変数の可視性(有効範囲)
- 25. Cの構造と機能の有効範囲の違いは何ですか?
- 26. Cypher:変数が有効な一致ステートメントの範囲
- 27. ASP.NET MVCのTempDataの有効範囲と可視性は何ですか?
- 28. 日時モジュールの有効な日付の範囲は何ですか?
- 29. Linux/bashのプログラム戻り値の有効範囲は何ですか?
- 30. SQLiteのROWIDの有効範囲は?
複数のクラスで使用する必要がある場合は、ヘッダーファイルで定義し、両方のソースファイルにヘッダーファイルを含める必要があります。 –
@Hunter: "class"?彼はC++ではなくCについて質問しています。しかし、C++でも、 "複数のソースファイル"でなければなりません。 –
@Keith、Yea OOPそこにスリップします。 –