2009-12-06 68 views

回答

19
Table(string name="", vector <string> mods); 

,如果你想向量是內部構造空,則

mods.clear(); 

mods.swap(vector<string>()); 

如果你想要作爲默認參數:

Table(string name="", vector<string> mods = vector<string>()); 

像任何其他默認參數。

+0

啊,謝謝!我一直在嘗試像矢量 mods(0,「」)和其他許多變體。根本不會猜到這一點! – Omar 2009-12-06 03:31:52

+0

在編輯之前捕捉到你的消息,這個方法的作用是向量 mods =向量(),而只是向量mods =向量()抱怨需要一個模板參數。 我很高興看到第一條消息,因爲我可能不會想出將模板參數放在作業的兩側。 – Omar 2009-12-06 03:38:36

+0

抱歉,它的格式不正確。 – 2009-12-06 03:45:36

8

要添加到對方的回答:如果你使用C++ 11,可以使用通用的初始化語法縮短向量的默認參數聲明如下:

Table(string name="", vector<string> mods={}); 
+0

比其他選項更好。 – dani 2015-10-10 21:15:59

相關問題