2009-12-06 65 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

相关问题