C++ (C+;+;)访问向量对第一列中第一个元素的第一个字符

C++ (C+;+;)访问向量对第一列中第一个元素的第一个字符,c++,vector,C++,Vector,我试图将向量对第一列的第一个元素的第一个字符与用户输入的int进行比较,并仅保留以该数字开头的值。该对的格式为 vector< pair <int, string> > vec; vectorvec; 我试过了 for(int i = 0; i < vec.size(); ++i) { if(&vec.first[0] != userInput) { vec.erase(vec.begin(), vec.end());

我试图将向量对第一列的第一个元素的第一个字符与用户输入的
int
进行比较,并仅保留以该数字开头的值。该对的格式为

vector< pair <int, string> > vec;
vectorvec;
我试过了

for(int i = 0; i < vec.size(); ++i)
{
    if(&vec.first[0] != userInput)
    {
        vec.erase(vec.begin(), vec.end());
    }
}
for(int i=0;i
这就抛出了错误

error: 'class std::vector<std::pair<int, std::basic_string<char> > >' has no member named 'first'
错误:“class std::vector”没有名为“first”的成员
如果有人有办法完成这项(看似简单)的任务,我将不胜感激——人们花了很多时间寻找解决方案,但都无济于事。

改变:

&vec.first[0]
致:

正如赛博在评论中所述,
vec[0]。first
也有效。

更改:

&vec.first[0]
致:

正如赛博在评论中所述,
vec[0]。first
也有效。

更改:

&vec.first[0]
致:

正如赛博在评论中所述,
vec[0]。first
也有效。

更改:

&vec.first[0]
致:


正如赛博在评论中所述,
vec[0]。首先
也是有效的。

您需要首先访问verctor的位置,然后访问该对的第一个元素:

vec[0].first 

您需要首先访问verctor的位置,然后访问该对的第一个元素:

vec[0].first 

您需要首先访问verctor的位置,然后访问该对的第一个元素:

vec[0].first 

您需要首先访问verctor的位置,然后访问该对的第一个元素:

vec[0].first 

第一种方法允许您轻松访问配对中的第一项。当应用于pair变量时,first将为您提供第一项(在您的情况下是int),second将为您提供第二项(在您的情况下是字符串)

您错误地将名为“first”的方法应用于向量,而不是向量中的一对

要访问向量中的一对,请使用:

vec[i].first
访问向量中的第i个元素的位置(坚持使用i表示循环计数器的示例)。vec[i]返回一个类型为pair的变量,然后可以对其调用第一个方法

你得到的错误

error: 'class std::vector<std::pair<int, std::basic_string<char> > >' has no member named 'first'
错误:“class std::vector”没有名为“first”的成员

试图解释这一点,C++总是很难阅读。它告诉您,没有名为“first”的成员(在本例中是方法)可以应用于映射到字符串的int对向量类型的变量

第一种方法允许您轻松访问配对中的第一项。当应用于pair变量时,first将为您提供第一项(在您的情况下是int),second将为您提供第二项(在您的情况下是字符串)

您错误地将名为“first”的方法应用于向量,而不是向量中的一对

要访问向量中的一对,请使用:

vec[i].first
访问向量中的第i个元素的位置(坚持使用i表示循环计数器的示例)。vec[i]返回一个类型为pair的变量,然后可以对其调用第一个方法

你得到的错误

error: 'class std::vector<std::pair<int, std::basic_string<char> > >' has no member named 'first'
错误:“class std::vector”没有名为“first”的成员

试图解释这一点,C++总是很难阅读。它告诉您,没有名为“first”的成员(在本例中是方法)可以应用于映射到字符串的int对向量类型的变量

第一种方法允许您轻松访问配对中的第一项。当应用于pair变量时,first将为您提供第一项(在您的情况下是int),second将为您提供第二项(在您的情况下是字符串)

您错误地将名为“first”的方法应用于向量,而不是向量中的一对

要访问向量中的一对,请使用:

vec[i].first
访问向量中的第i个元素的位置(坚持使用i表示循环计数器的示例)。vec[i]返回一个类型为pair的变量,然后可以对其调用第一个方法

你得到的错误

error: 'class std::vector<std::pair<int, std::basic_string<char> > >' has no member named 'first'
错误:“class std::vector”没有名为“first”的成员

试图解释这一点,C++总是很难阅读。它告诉您,没有名为“first”的成员(在本例中是方法)可以应用于映射到字符串的int对向量类型的变量

第一种方法允许您轻松访问配对中的第一项。当应用于pair变量时,first将为您提供第一项(在您的情况下是int),second将为您提供第二项(在您的情况下是字符串)

您错误地将名为“first”的方法应用于向量,而不是向量中的一对

要访问向量中的一对,请使用:

vec[i].first
访问向量中的第i个元素的位置(坚持使用i表示循环计数器的示例)。vec[i]返回一个类型为pair的变量,然后可以对其调用第一个方法

你得到的错误

error: 'class std::vector<std::pair<int, std::basic_string<char> > >' has no member named 'first'
错误:“class std::vector”没有名为“first”的成员

试图解释这一点,C++总是很难阅读。它告诉您,没有名为“first”的成员(在本例中是方法)可以应用于映射到字符串的int对向量类型的变量

它应该是
vec[0]。首先
vec
是成对的向量,而不是“向量对”。所以“向量对第一列的第一个元素的第一个字符”没有任何意义。你能更详细地解释一下你想要实现什么吗?因此向量的信息存储为
10515这是一个字符串\\20515这也是一个字符串
,我希望能够输入,比如说,2,并且只显示第二个字符串。作为旁注,你可以替换erase wtih