「Inline namespace cannot be reopened as a non-inline namespace」エラーの対処方法


既にinline指定されている名前空間を、非inline化指定された名前空間として再度宣言しようとしている

foo.h

namespace a { inline namespace b {} }

bar.h

#include "foo.h"
namespace a { namespace b {} }
// ERROR: Inline namespace cannot be reopened as a non-inline namespace

この場合、元の宣言に合わせてinline指定する必要がある。

bar.h

#include "foo.h"
namespace a { inline namespace b {} } // OK

広告

関連するオススメの記事