私はこのようなファイルをしばらく作成しています: 注文は意味がありますか?名前空間と#includeがスワップされ、なぜそのようになっているかを確認する必要があります。どちらが先ですか?ヘッダーガード、ネームスペースなどを含みます
#ifndef CLASSNAME_H // header guards
#define CLASSNAME_H
#include "a.h" // includes in alphabetical order
#include "b.h" // user specified includes first
#include "c.h"
#include <vector> // then library includes
namespace MyNamespace
{
class ClassName
{
};
}
#endif
ファイルの内容を文字通りあなたのベースファイルにペーストしてから、どの宣言をどの名前空間に入れたいかを考えてみましょう。 –
...異なる.cppファイルに異なる名前空間内に同じヘッダーが含まれているとどうなるか考えてみてください。 –