これは本当に簡単ですが、私は期待していないエラーが発生しています。グローバルな名前空間から何かを参照していますか?
私は、次の名前空間の内部で
あるいくつかのコードを持っているが、私のコードの構造を表し、いくつかの擬似コードです:
namespace A {
void init() {
initialize_kitchen_sink();
}
#include "operations.h" // declares shake_and_bake()
void foo() {
shake_and_bake();
}
void cleanup() {
// do nothin' cuz i'm a slob
}
}
はエラー:
undefined reference to `A::shake_and_bake`
operations.hファイル内のすべてが名前空間Aで宣言されています。ファイルoperations.hを別のファイルに含めるが、異なる名前空間(グローバルなど)に入れると、これらは全く異なる宣言になります。 #includeはプリプロセッサの一部であり、言語構造が完成するずっと前から動作していることに注意してください。 –