专业化功能模板结果

时间:2011-07-27 21:56:50

标签: c++ template-specialization template-meta-programming

我对模板元编程很陌生,在这种方法中无法找到我的思维错误:

template <typename T>
    typename T::ReturnType Query(const std::string& Str);

template <>
ResultTypeRowCount Query(const std::string& Str) { return this->queryRowCount(Str); }

ResultTypeRowCount实现名为ReturnType

的公共typedef

谢谢你的阅读

2 个答案:

答案 0 :(得分:2)

应该是:

template <>
ResultTypeRowCount::ReturnType Query<ResultTypeRowCount>(const std::string& Str) { return this->queryRowCount(Str); }

答案 1 :(得分:1)

专业化您的模板应遵循以下模式:

template<typename T>
  void foo() {
  }

template<>
  void foo<int>() {
  }