【发布时间】:2015-07-22 02:45:16
【问题描述】:
我想在模板方法中调用命名空间定义的函数,并且想使用 std::enable_if 让该方法仅在目标命名空间定义的函数存在时生成。有可能吗?
我应该补充一点,调用方法需要一个参数,该参数的类型在命名空间中定义。这就是我要检查的命名空间。
namespace SomeNamespace
{
...
void SomeFunc(...);
class SomeType { ... };
}
template <class T>
void MyClass::MyMethod(const SomeNamespace::SomeType& obj)
{
...
SomeNamespace::SomeFunc(...);
...
}
【问题讨论】:
-
除非
SomeFunc有一个在某种程度上与SomeType相关的参数。 -
你能澄清一下吗?当你对@toth 说目标命名空间是任意的 时,你是说你甚至不知道它的名字,还是你只是说它是一个命名空间是给定的吗?
-
@Mike Kinghan:在上面的帖子中,“我应该添加...”下面的代码具有 SomeNamespace,这就是我的意思。
标签: c++11