2010-11-29 77 views
9

在C++中,如何为函数中的列表引用指定默认值?列表引用的默认参数

void fun(
    std::list<My_Object *> &the_list, 
    int n = 4 
) 
+1

默认值是什么? – 2010-11-29 13:33:14

+0

一个特定的列表。我宁愿在线输入它。 (感谢您修正了标记。) – Tim 2010-11-29 13:35:07

回答

7

如果它是一个明确的引用,你唯一默认它是一个有效的左值,可能是不可用的。但是,如果它是一个引用为const,你可以把它默认为空列表如下:

void fun(
    std::list<My_Object *> const & the_list = std::list<My_Object *>(), 
    int n = 4 
) 

如果你有一个名为清单,该清单可在声明的网站,那么像这样的

void fun(
     std::list<My_Object *> & the_list = a, 
     int n = 4 
    ) 

但要注意,这样的a名单仍然“活着”,当你调用函数

5

在C++中,我怎么会在一个列表引用指定一个默认值功能?

我不会,在你的情况。任一重载功能,以便它可以在没有一个列表被调用,或采取每指针参数,从而使用户能够通过一个NULL指针。

我强烈希望重载。