【发布时间】:2012-03-08 17:50:28
【问题描述】:
我用模板写了类。类有 map 作为成员和一些 getxxx() / setxxx() 成员函数。
template<typename T1,typename T2>
class C1{
map<T1,T2> M;
public:
map<T1,T2> getM();
T2 getMvalue(T1 Key);
void setM(T1 key,T2 Value);
};
这里我想实现getMvalue(),它接收key作为参数,如果“key”在mapM中可用,则返回相应的“value”。
它看起来像......
template<typename TKey,typename TValue>
T2 C1<T1,T2>::getMvalue(T1 Key){
if(M.count(Key)>0)
return M[Key];
else
return(???);
};
在这里我需要使用一些东西来代替???。请记住,函数的返回类型是 T2,它可以是任何取决于用户决定的类型。 我该如何替换“???”和什么?
【问题讨论】:
标签: c++ templates map return-value