我假設函數已經有一個返回值,所以不能被添加。如何在不破壞現有代碼的情況下將輸出參數添加到函數中?
我想出來解決這個問題是添加額外的指針參數,默認爲nullptr。
前:
bool fun(double a, std::vector<std::randomexample> const & b)
後:
bool fun(double a, std::vector<std::randomexample> const & b, int* extraoutput = nullptr)
,並使用它像這樣
if(extraoutput)
*extraoutput = whatever;
但是,這僅僅是我想出了。 我想知道是否有更好的方法來做到這一點。請注意,「無論」已經在該功能中。
似乎合理。 –
如果您絕對不想更改現有的東西,請創建一個新的重載的東西。 –