错误:在<之前的预期模板名称代币

时间:2013-04-10 11:09:09

标签: c++ templates

您好我收到以下错误

templateatt.cpp:4:32: error: expected template-name before ‘<‘ token
templateatt.cpp:4:32: error: expected â{â before ‘<‘ token
templateatt.cpp:4:32: error: expected unqualified-id before ‘<‘ token

编译以下cpp文件时:

    #include<iostream>

    template <class R, class T>
    class mem_fun_t: unary_function<T*, R> {
      R (T::*pmf)();
    public:
      explicit mem_fun_t(R (T::*p)()):pmf(p){}
      R operator() (T *p) const { return (p->*pmf()); }
    };

    int main() {
      return 0;
    }

任何帮助都会很棒。我被困在这里。

1 个答案:

答案 0 :(得分:7)

不要忘记#include <functional>获取unary_function,然后使用std::unary_function对其进行限定。