我想編寫一個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