2010-11-29 2 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

если это обычная ссылка, единственное, что вам по умолчанию это является допустимым именующим, который, вероятно, не доступно. Но если это ссылка на константные вы можете настроить его на пустой список, как это:

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

Если у вас есть список с именем A, который доступен на сайте декларации, то, как это

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

, но будьте осторожны, так что a список все еще «жив», когда вы вызываете функцию

5

в C++, как бы я задать значение по умолчанию для справки списка в функция?

Я не хотел, в вашем случае. Либо перегрузить функцию так, что его можно назвать без списка, или принять аргумент за указателем, так что пользователи могут передавать NULL указатель.

Я бы предпочел перегрузку.

Смежные вопросы