C++中类模板中的函数操作

这不能运行的代码,突然就可以常没毛病了,我一脸蒙

使用C++中的类模板出错,但又不知道那里出问题,如下
全部代码都在一个.hpp文件中

template<typename KEY,typename TYPE>
class QMapContainer
{
....
public: // 提供的对外操作
    int GetSingleData(KEY key,TYPE* out_single_value);    // 获取单个数据
};

// 函数实现代码
template<typename KEY, typename TYPE>
int QMapContainer<KEY, TYPE>::GetSingleData(KEY key, TYPE *out_single_value)
{
    // key不存在
    if(!IsExistKey(key))return -1;
    // 传出数据
    *out_single_value = data.find(key).value;
    return 0;
}

// 以下代码是调用代码

phone_info_struct* temp_struct;
obj->GetSingleData(phone_id,&temp_struct);

想把常用的QMap进行简单封装成一个类模板方便之后使用,但是在使用的过程中无法把数据传出去
像上面的代码他是报错的,“unresolved overloaded function type”
想问问,要怎样才可以正常传出结构体数据或函数返回结构体呢?