【发布时间】:2009-11-09 03:53:15
【问题描述】:
如何以非内联方式为专用模板提供额外的成员函数? 即
template<typename T>
class sets
{
void insert(const int& key, const T& val);
};
template<>
class sets<bool>
{
void insert(const int& key, const bool& val);
void insert(const int& key){ insert(key, true); };
};
但是当我把sets<bool>::insert(const int& key)写成
template<>
class sets<bool>
{
void insert(const int& key, const bool& val);
void insert(const int& key);
};
template<>
void sets<bool>::insert(const int& key)
{
insert(key, true);
}
GCC 抱怨:
template-id ‘insert’ for ‘void ip_set::insert(const int&)' 确实 不匹配任何模板声明
【问题讨论】: