首页 > 解决方案 > 如果我们已经在 .h 文件中添加了相同的命名空间,我们是否需要为 -inl.h 添加相同的命名空间

问题描述

我正在.h文件中写下一个模板,并希望将特定逻辑放入-inl.h. 我想知道是否需要为我的-inl.h?

这是我的Test.h文件,在文件中我定义了一个函数(不是类)。

#pragma once

namespace test::mytest {

template <typename T, typename Func>
void log(T& logger, Func func);
} 

#include "Test-inl.h"

这是我的-inl.h文件:

#pragma once

// Do I really need to put "namespace test::mytest" in -inl.h?
namespace test::mytest {

template <typename T, typename Func>
void log(T& logger, Func func) {
   // some logic here
}
} 

namespace test::mytest当我删除from时,似乎我仍然可以构建文件-inl.h。我想知道哪个是首选方式?

标签: c++

解决方案


推荐阅读