不匹配使用矢量的调用
No match for call using vector
我似乎有块[i]的问题,我该如何解决?
for(int i=0;i<range.size();i++)
{
vector <string> block(i);
}
for(int i=0; i<range.size();i++)
{
int counter=1;
if(range[counter] == block[i])
{
block[i].push_back(range[counter-1]); <<<<<<<< ERROR: No match for call
counter++;
}
}
您没有名为block
的变量。如果你想索引你的block
,也把它们放在一个向量中:
vector<vector<string>> blocks (3);
我有矢量block0,block1,block2,所以在for循环中,我希望该值自动插入block0/block1/block3
这是不可能的。使用上面的解决方案。
如果块的数量是编译时常数,您可能需要考虑一个数组:
std::vector<std::string> block[3]; // c++03
std::array<std::vector<std::string>,3> block; // c++11
您在第一个循环中创建block
变量,每个循环结束后这些变量就会消失。
您需要在第一个循环之外(之前)声明block
向量,然后使用push_back
。
这就是创建矢量的方法,如果你想索引矢量,需要什么:
vector<vector<string> > vec3(3, std::vector<string>());
或
std::array<std::vector<std::string>,3> block; // in case of c++11
或
vector<vector<string> > blocks (3);
相关文章:
- Tbb 库:错误:编写自定义类函数而不是 lambda 表达式时,对函数的调用不匹配
- test1.cpp:9:77:错误:对"(const std::normal_distribution) <double>(std::mt19937&)"的调用不匹配
- 计算一个单词在映射中出现的次数 - 使用 transform() - 调用不匹配
- std::使用内部对象移动 - 与调用不匹配
- 对std::函数对象的调用不匹配,该对象是指向成员函数的指针
- 错误:对'boost::.......'的调用不匹配
- 错误:对"set_union"的调用不匹配
- 与构造函数中对(类)(类型)的调用不匹配
- 对"(std::vector<std::vector<int> >) (int, std::vector<int>)"的调用不匹配
- 声明后初始化对象时"调用不匹配"
- 功能参数与函数调用不匹配
- C++ 与函数调用不匹配
- C++ 错误:对 '(std::string {aka std::basic_string}) (<char>无符号整数、字符)的调用不匹配
- C++错误:对"(RgbImage) (int&, int&)"的调用不匹配
- C++ 错误:对"(std::string) (const char[4])"的调用不匹配
- 与结构sockaddr_in调用不匹配
- 错误:对'(Time) (int, int, int)'的调用不匹配
- 错误消息:与调用"(cv::Rect) (cv::Mat&, cv::P oint_, cv:<int>:P oint, cv::Scalar, int)"的调用不匹配
- 对c++函数的调用不匹配
- const_iterator、find_if和bind2nd:对错误的调用不匹配