具有非类型参数的成员函数的部分专业化
|
我有一个同时具有类型和非类型模板参数的模板类。我想对成员函数进行专业化处理,我发现,如下面的示例所示,我可以进行完全的专业化处理。
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 个回复
暑袜眠退
盟犯涩沟都