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'
我没有使用正确的语法,但不确定它是什么?
答案 0 :(得分:0)
咄,
const TEX::MDEntryPx *price = me->get<TEX::MDEntryPx>();