How to set a default parameter for a vector <string> for use in a default constructor within a class?
16,582
Solution 1
Table(string name="", vector <string> mods);
if you want vector to be empty inside constructor then
mods.clear();
or
mods.swap(vector<string>());
In case you want as a default parameter:
Table(string name="", vector<string> mods = vector<string>());
Like any other default parameter.
Solution 2
To add to the other answer: If you're using c++11, you can use the universal initialization syntax to shorten the default parameter declaration for a vector to the following:
Table(string name="", vector<string> mods={});
Author by
Omar
Updated on June 11, 2022Comments
-
Omar almost 2 years
For example, a class named Table, with its constructor being:
Table(string name="", vector <string> mods);
How would I initialize the vector to be empty?
Edit: Forgot to mention this was C++.