名前空間の変数のライフサイクルについて誰か説明してもらえますか? 次のファイルがあるとします。
ファイル.h:
// ...
namespace variables{
int x, y;
}
ファイル.cpp:
#include "file.h"
using namespace variables;
int main(){
...
}
x
とのスコープは何y
ですか? 私が読んでいた本 (C++ Primer Plus) で、著者は関数内で s を推奨していたので、それらはコマンドusing namespace
の時点で定義されていると思ったからです。using
ただし、これを行うと:
Bh:
class B{
// class stuff
};
namespace variables{
int x, y;
}
次に、main.cpp
(メイン プログラム) とB.cpp
(クラスの実装) に次の行を追加します。どのファイルにもありませんが、and#include "B.h"
の複数の定義があるというエラーが表示されます。どうしたんだ?2 つの異なる概念を混同していませんか?variables::x
variables::y
using