0
enum ABC
{
A, B, C
}
enum XYZ
{
X, Y, Z
}
template<XYZ xyz>
void DoSomething ();
template<ABC abc, XYZ xyz>
void DoSomething ();
template<> void DoSomething <X>()
{ ... }
template<> void DoSomething <Y>()
{ ... }
template<> void DoSomething <Z>()
{ ... }
By switch i have done this
template<ABC abc, XYZ xyz>
void DoSomething ()
{
switch (xyz)
{
case X: ... break;
case Y: ... break;
case Z: ... break;
default: break;
}
}
,但我瓦納這樣做 書面方式3第二參數 的每個枚舉值的不同的功能和去除開關C++函數模板部分特化與C++中的多個枚舉參數?
template<> void Pos::DoSomething <ABC abc, X>()
{
...
}
template<> void Pos::DoSomething <ABC abc, Y>()
{
...
}
template<> void Pos::DoSomething <ABC abc, Z>()
{
...
}
如何做到這一點??? 模板部分專精的功能? 請幫我
您的空間欄似乎卡住了。 –
沒有專門的模板功能:http://www.gotw.ca/publications/mill17.htm – doctorlove