0

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

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

谢谢你的阅读

4

2 回答 2

2

它应该是:

template <>
ResultTypeRowCount::ReturnType Query<ResultTypeRowCount>(const std::string& Str) { return this->queryRowCount(Str); }
于 2011-07-27T22:03:17.010 回答
1

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

template<typename T>
  void foo() {
  }

template<>
  void foo<int>() {
  }
于 2011-07-27T22:03:33.317 回答