2010-11-29 75 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指針。

我強烈希望重載。