как инициализировать аргументы функции, которые являются классами со значением по умолчанию

Я работаю в среде Linux gcc, и мне нужно инициализировать аргументы функции, которые являются классами со значениями по умолчанию. Когда я делаю это с временным экземпляром класса, он выдает такую ​​ошибку: «аргумент по умолчанию для [аргумент функции] имеет тип [имя класса]. например:

void foo(std::wstring& str = std::wstring())

ошибка: аргумент по умолчанию для 'std :: wstring & str' имеет тип 'std :: wstring' PS этот код компилируется без каких-либо ошибок или предупреждений с помощью VC ++.

Как я могу инициализировать значение по умолчанию?

10
задан Matthieu M. 21 November 2010 в 17:22
поделиться