类模板“std :: pair”的参数太少:在stidiac函数中将std对作为参数传递

时间:2018-05-04 06:01:44

标签: c++ stl variadic-functions variadic-macros

我必须将std::pair的{​​{1}}传递给可变函数。尝试使用std::string宏访问std::pair时,too few arguments for class template "std::pair"显示错误std::pair

va_arg

这里缺少什么,

1 个答案:

答案 0 :(得分:2)

va_arg是一个宏,像','这样的字符可能导致宏解析失败

所以解决方案是typedef pair<string,string>

    typedef pair<string, string> StrStrPair;
    StrStrPair bulkData;
    bulkData = va_arg(args, StrStrPair);