编译器错误 C2049

“namespace-name”:不能将非内联命名空间重新打开为内联

仅当 inline 关键字也用于原始命名空间定义时,才能在命名空间定义扩展上使用。

若要解决此问题,请在命名空间的所有部分使用一致的 inline 说明符。

以下示例生成 C2049:

// C2049.cpp
namespace ns {}

inline namespace ns {}   // C2049

可能的解决方法:

// C2049b.cpp
namespace ns {}

namespace ns {}