How do I set parameter default values that rely on other parameters?
问题 The following code compiles and works as expected. #include <vector> void function(std::vector<int> vec, int size=1); int main(){ std::vector<int> vec = {1,2,3}; function(vec); } void function(std::vector<int> vec, int size){ //code.. return; } However, I would like the size parameter's default value to be deduced based on a previous parameter. So for example: void function(std::vector<int> vec, int size=vec.size()); But this however results in: error: local variable ‘vec’ may not appear in