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