在std :: transform中传递std :: stoi

时间:2016-09-20 16:06:45

标签: c++11

我有一个EXECUTE master.sys.sp_MSforeachdb 'USE [?]; if db_name(db_id()) in (''master'',''tempdb'') --your dbnames Begin select db_name() --your query end' vector和一个空strings vector

int

目标是将前者转变为后者。

带有lambda的

vector<string> ints_as_strings; vector<int> ints_as_ints;

std::transform

但我只想使用std::transform(ints_as_strings.begin(), ints_as_strings.end(), back_inserter(ints_as_ints), [](const string& s) {return std::stoi(s);});

传递std::stoi功能的地址有效:

mystoi

但是,直接传递int mystoi(string s) {return stoi(s);} std::transform(ints_as_strings.begin(), ints_as_strings.end(), back_inserter(ints_as_ints), &mystoi); 的地址并不起作用。 这是由于extra parameters(但是,为此提供了默认值)?

0 个答案:

没有答案