繁体   English   中英

C ++ std :: list具有默认值的参数

[英]C++ std::list paramerter with default values

我想要一个将列表作为参数的方法,但是此列表应具有默认值,这是我需要的无效示例:

void myFunc(std::list<CString> const & myList = std::list<CString>({"Val1", "Val2", "Val3"}));

当我尝试使用它时,我得到

错误C2143:语法错误:'{'之前缺少')'

Micrsoft Visual Studio 2010 不支持std::initializer_list 当你做

std::list<CString>({"Val1", "Val2", "Val3"})

您尝试使用std::initializer_list构造函数初始化std::list 由于MSVS 2010不支持,因此可以调用它。

您可以做的一件事是编写一个函数来创建和初始化列表,例如

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());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM