【发布时间】:2017-12-06 04:42:40
【问题描述】:
是否可以为单个枚举值专门化一个类方法? 具体来说,我有一个枚举和一个类,如下所示:
#include <iostream>
#include <stdio.h>
using namespace std;
enum class Animal { dog, cat, bird };
class Sound
{
public:
static void getSound ( const Animal& arg )
{
switch ( arg )
{
case Animal::dog:
// dog specific processing
break;
case Animal::cat:
// cat specific processing
break;
case Animal::bird:
// bird specific processing
break;
default:
return;
}
}
};
我想为每个枚举值专门化 getSound 函数,以摆脱开关盒。这样的模板特化可能吗?
【问题讨论】:
标签: c++ templates sfinae specialization