0

メンバー関数テンプレートの次の特殊化はbar有効ですか? gcc 4.5.3 および VS .NET 2008 でコンパイルされます。関数テンプレートを特殊化できないと読んだことを漠然と思い出したので、混乱しています。

struct Foo
{
    template<typename T>
    void bar();
};

template<typename T>
void Foo::bar(){}

template<>
void Foo::bar<bool>(){}

int main()
{
    Foo f;
    f.bar<char>();
    f.bar<bool>();
}
4

2 に答える 2

3

関数テンプレートは部分的に特化することはできませんが、明示的に特化することはできます。コードは完全に正しいです。

于 2014-01-13T11:59:20.800 に答える