我想编写一个C++函数,它根据第一个参数调整第二个参数的类型。所以我有这样的事情:在C++中更改参数类型的最佳做法
enum FtnType { FTN_A, FTN_B, FTN_C };
void bar(FtnType foo, const int arg = 0)
{
switch(foo)
{
case 0:
{
void ftnA(arg);
break;
}
case 1:
{
void ftnB();
break;
}
case 2:
{
void ftnC(arg);
break;
}
}
}
现在对于case 0
我想ARG是一个整数,case 1
我不希望使用任何参数和case 3
我想ARG类型为浮动。我知道我可以在一个案例中投出类型,但这似乎是一个糟糕的编程习惯。什么应该是解决这个问题的最好方法?
石膏。 'static_cast',如果可以的话。 –
调用'bar()'的人怎么知道它会决定它想要的类型? – Galik
我想你会需要一个模板或超负荷,如果你想'arg'是'int'或'float'当你打电话给''' – bbaldino