Специализированный результат шаблона функции - PullRequest
0 голосов
/ 28 июля 2011

Я довольно новичок в шаблонном метапрограммировании и не могу найти свою ошибку мышления в этом подходе:

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

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

ResultTypeRowCount реализует публичный typedef с именем ReturnType

Спасибо за чтение

Ответы [ 2 ]

2 голосов
/ 28 июля 2011

Должно быть:

template <>
ResultTypeRowCount::ReturnType Query<ResultTypeRowCount>(const std::string& Str) { return this->queryRowCount(Str); }
1 голос
/ 28 июля 2011

Специализация вашего шаблона должна следовать этому шаблону:

template<typename T>
  void foo() {
  }

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