我有多個具有不同參數數量的函數,例如,使用不同數量的參數調用函數
double foo(double x, double y) { return x + y; }
double bar(double x, double y, double z) { return x + y + z; }
double zoo(double x, double y) { return x * y; }
我想用自己的名字以下列方式使用一些包羅萬象的函數來調用函數:
call_function("foo", x, y);
call_function("bar", x, y, z);
可以假定這兩個參數和函數返回具有相同的類型(例如,如上例中的double
)。不幸的是,由於項目的複雜性,我無法改變我所調用的功能,我需要按照原樣處理它們。
有沒有簡單的解決方案呢?
而第一個參數必須是這樣的字符串? – Martin
你可以給他們相同的名字或者爲每個人寫封裝函數,並給封裝函數賦予相同的名字。編譯器將根據您指定的參數數量調用正確的一個。 – Galik
@Martin這將是更可取的,因爲對我來說最簡單的就是能夠說「調用foo函數」而不會打擾其他任何事情。 – Tim