Благодаря AProgrammer, не понял, что частичная специализация вообще не возможна для функции-члена.

я есть шаблонный класс с типом и нетиповым параметром шаблона. Я хочу специализировать функцию-член, что я нашел, как в примере ниже, я могу выполнить полную специализацию штрафа.

template<typename T, int R>
struct foo
{
    foo(const T& v) :
        value_(v)
    {}

    void bar()
    {
        std::cout << "Generic" << std::endl;
        for (int i = 0; i < R; ++i)
            std::cout << value_ << std::endl;
    }

    T value_;
};

template<>
void foo<float, 3>::bar()
{
    std::cout << "Float" << std::endl;
    for (int i = 0; i < 3; ++i)
        std::cout << value_ << std::endl;
}

Однако эта частичная специализация не будет компилироваться.

template<int R>
void foo<double, R>::bar()
{
    std::cout << "Double" << std::endl;
    for (int i = 0; i < R; ++i)
        std::cout << value_ << std::endl;
}

Есть ли способ достичь того, что я пытаюсь, кто-нибудь знает? Я попробовал это в MSVC 2010.

Ответы на вопрос(2)

Ваш ответ на вопрос