c++ - 错误 : type 'std::__1::basic_string<char>' does not provide a call operator

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

<分区>

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

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

'代码'是原始 vector 。这段代码给我错误:

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

我不明白这个,有没有办法解决这个问题?

最佳答案

std::pairfirst 是成员变量,不是方法。删除 first 之后的括号。

关于c++ - 错误 : type 'std::__1::basic_string<char>' does not provide a call operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50975937/

相关文章:

c++ - 方法中的变量作用域及其在 C++ 中的持久性

c++ - 并行区域内的 For 循环

c++ - 在 32 Borland C++ Builder 中使用 64 位 DLL

c++ - 用 C++ 重写 grep

performance - 在 R 中的矩阵中查找整数向量索引的最快方法

c++ - bash : ./main: 无法执行二进制文件: Exec 格式错误

c++ - 模板基类的子类的模板特化

c++ - 在不使用 libcurl 的情况下读取网页并存储在字符串中。 (C++)

c++ - cout vector<vector<int>> 更简洁

c++ - C++ 中的模板引用参数推导失败