我想有一个将列表作为参数的方法,但这个列表应该有默认值,下面是一个无效的示例:
void myFunc(std::list<CString> const & myList = std::list<CString>({"Val1", "Val2", "Val3"}));
当我尝试使用它时
Micrsoft Visual Studio 2010 does not support std::initializer_list .当你这么做的时候
std::initializer_list
std::list<CString>({"Val1", "Val2", "Val3"})
您尝试初始化 std::list std::initializer\u列表 构造函数。因为MSVS 2010不支持这个功能,所以你可以称之为。
std::list
std::initializer\u列表
std::list<CString> default_list() { std::list<CString> temp; temp.push_back("Val1"); temp.push_back("Val2"); temp.push_back("Val3"); return temp; }
然后你可以像这样使用它
void myFunc(std::list<CString> const & myList = default_list());