我有一個函數生成一個安全的輸入與錯誤處理,所以它是乾淨的輸入數字(INT)。但我希望其中一個參數是一個長度爲2的可選數組,其中包含所需變量輸入的邊界。如何將特定大小的數組作爲參數傳遞?
下面是我對現在:
//function prototype
void input_number(int* variable, string text = "Input : ", int boundaries[2] = NULL);
//function call
int variable;
input_number(&variable, "Choose a number between 0 and 10 : ", {0, 10});
這不起作用,引發錯誤cannot convert '<brace-enclosed initializer list>' to 'int*' for argument '3' to 'void input_number(int*, std::__cxx11::string, int*)'
如何傳遞長度爲2的數組的功能?
另外,是int[] = NULL
正確的默認數組值或我是完全錯誤的?
感謝您的詳細解答!很多額外的建議,我喜歡它。是的,即使我想避免函數重載,我想我絕對沒有別的選擇使用它們! – lolgab123
剛剛閱讀,用你剛剛寫道,重載沒有比沒有超載更多的空間..非常好的解決方案謝謝! (+在最後一個代碼塊中有一個額外的閉括號,在輸入之後,可能會被刪除) – lolgab123