正确的语法来访问模板函数

时间:2014-05-19 23:31:03

标签: c++11 clang

MessageBase类具有如下公共模板成员函数:

/*! Get a pointer to a field. Inplace, 0 copy.
        \tparam T type of field to get
        \return pointer to field or 0 if not present */
    template<typename T>
    const T *get() const
    {
            Fields::const_iterator fitr(_fields.find(T::get_field_id()));
            return fitr == _fields.end() ? 0 : &fitr->second->from<T>();
    }

当我声明一个指向类型T的指针(在本例中为TEX :: MDEntryPx)

const TEX::MDEntryPx *price = me->get();

然后尝试访问该函数,clang ++返回

main.cpp|338|error: no matching member function for call to 'get'

我没有使用正确的语法,但不确定它是什么?

1 个答案:

答案 0 :(得分:0)

咄,

const TEX::MDEntryPx *price = me->get<TEX::MDEntryPx>();