我正在编写一个类,我想在其中创建这样的成员函数模板专业化
namespace aha
{
class Foo
{
public:
template < typename T >
T To() const
{
// some code here
}
};
template <>
bool Foo::To < bool > () const
{
// some other code here
}
}
gcc 给出错误:
'To < bool >' 在实例化后的显式实例化
我只想使用成员函数的模板专业化来做到这一点,以便我的库的用户在转换Foo
为不同的数据类型时可以获得相同的函数,例如
Foo obj;
bool b( obj.To < std::string > () );
int i( obj.To < int > () );
float f( obj.To < float > () );
等等。
请让我知道我在代码中做错了什么。