2011-06-16 73 views
1

如何将stl映射作为默认参数传递?作为默认参数的STL映射

+0

你能给我们提供一些你想要完成的细节吗? – jpm 2011-06-16 06:54:59

+0

作为什么默认参数?请在询问时尽可能详细地描述问题。 – 2011-06-16 06:55:57

+1

作为任何方法的默认参数。 – 2011-06-16 07:00:23

回答

7
typedef std::map<int,int> MyMap; 

void myFunction (int arg1, int arg2, MyMap arg3=MyMap()); 

编辑:忘了参数名称,对不起。

+0

咦?没有名字,只是输入?在没有价值的情况下允许,但在这种情况下? – 2011-06-16 07:00:50

+0

@Kiril:这是允许的 – 2011-06-16 07:04:47

+0

@阿门 - 很好,这很有趣。现在+1。 – 2011-06-16 07:06:03

-1

试试这个。

void CObject::someMethod(std::map<std::string, int> someMapContainer) 

但老实说,我不完全理解你的问题。

+0

其实我有一堂课。它有一个名为xyz()的方法。我从其他不属于xyz()所属类的成员的方法调用此方法两次。我想要一个包含两个对xyz()的调用之间的公共数据的映射。我有一些约束,如我不能使用全局变量或静态变量。 – 2011-06-16 07:10:13