簡體   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