错误:类型为“ std :: __ 1 :: basic_string <char>”不提供呼叫操作员

时间:2018-06-21 19:08:08

标签: c++ vector c++14 std-pair

我有一个向量对,该向量对由字符串和整数组成,例如:{(“ ABC”,15),(“ DEFG”,29)}。我想将向量中的字符串拆分为单独的字符,例如{'A','B','C'}。我的代码是:

for (std::pair<std::string, int> i: code) 
  {
    std::vector <char> letters;
    for (char b: i.first()) 

“代码”是原始向量。这段代码给了我错误:

error: type 'std::__1::basic_string<char>' does not provide a call operator
    for (char b: i.first()) 
                 ^~~~~~~

我不明白这一点,有解决办法吗?

1 个答案:

答案 0 :(得分:3)

std::pair的{​​{1}}是成员变量,而不是方法。删除first之后的括号。