我有一个名为generate_all_paths的函数:
template <int size>
void generate_all_paths(vector<string> maze, int x, int y) {
....
}
当我在主叫它时:
int main() {
vector<string> mazevec;
string s;
ifstream mazefile("maze.txt");
while (getline(mazefile, s)) {
mazevec.push_back(s);
}
generate_all_paths(mazevec, 0, 1);
return 0;
}
我的IDE说我在main中对generate_all_paths的调用与函数定义的参数的数据类型不匹配。
有谁知道为什么会这样?什么让我失望的是mazevec
被定义为一个向量,就像generate_all_paths所希望的那样,但它不起作用。
答案 0 :(得分:1)
在评论中,我了解到,template<int size>
偶然出现了。
因此,I (and compiler)无法看到您的代码无法编译的任何原因。
检查您是否有#include <vector>
和using namespace std;
,因为您没有为vector
添加std::
作为前缀。
此外,我还有理由将vector<string>
作为const &
传递。