我有一個函數,它採用完全相同的參數,但有時候我希望它返回一個double,而其他時候我希望它返回一個int。什麼是正確的方法來做到這一點?C++從函數返回double或int
我可以做函數重載,但重載函數的聲明必須根據參數列表中的類型和/或參數個數而不同。這些將是相同的,所以功能重載不適用(我不認爲)。
double calc(int value, int add, double mult)
{
// Sometimes I want this to return int. Sometimes double.
return (value + add) * mult;
}
我寧願不強制轉換爲int的時候這就是我期待或寫兩個函數(一個整數,另一個用於雙打)的類型。感謝您的任何建議。
你能否詳細說明在什麼情況下你需要一個'int'而不是'double'? – templatetypedef 2012-03-30 17:58:16
你將如何使用該功能?你能提供這兩種情況的例子嗎? – Andre 2012-03-30 18:01:20
@templatetypedef - 是的,有時候,多參數是1.0,其他時候是1.375等。當它是1.0時,我想返回一個int。當它是1.375時,我想返回一個雙倍。 – 01100110 2012-03-30 18:02:48