【发布时间】:2012-02-22 10:11:30
【问题描述】:
我只想为T=std::vector<T2> 参数进行模板匹配(T2 是任意类型)。我可以在模板参数中使用boost::enable_if。如何测试T 类型是否为std::vector?
我可以在我的模板中包含T::iterator,这样非容器类型会导致替换失败并且不会被考虑(SFINAE)。不过,这样一来,任何定义 T::iterator 的容器都会匹配,而不仅仅是 std::vector<T2>。
【问题讨论】:
标签: c++ templates template-specialization template-meta-programming