我在为自己编写的功能匹配数据类型时遇到麻烦,
该函数是:
void generate_all_paths(int size, char *maze[][size], int x, int y) {
...
}
参数size,x和y都非常简单。我相信是迷宫把我赶走了。它旨在成为多维尺寸x尺寸数组,包含像迷宫一样的字母字符。
当我尝试像这样在main中调用函数时:
int main() {
char *exmaze[][6] = { {"#","#","#","#","#","#"},
{"S","a","#","h","l","n"},
{"#","b","d","p","#","#"},
{"#","#","e","#","k","o"},
{"#","g","f","i","j","#"},
{"#","#","#","#","#","#"}
};
generate_all_paths(6, *exmaze, 1, 0);
return 0;
}
我的IDE抱怨没有用参数的数据类型匹配的generate_all_paths函数。
我可以肯定的是,我的问题主要出在我定义了exmaze的地方,但是我的调整无法解决它。
有人有什么建议吗?谢谢!
我认为,使用模板是最优雅的方法:
template<int size>
void generate_all_paths(const char *maze[][size], int x, int y) {
...
}
int main() {
const char *exmaze[][6] = { {"#","#","#","#","#","#"},
{"S","a","#","h","l","n"},
{"#","b","d","p","#","#"},
{"#","#","e","#","k","o"},
{"#","g","f","i","j","#"},
{"#","#","#","#","#","#"}
};
generate_all_paths(exmaze, 1, 0);
return 0;
}
还请注意const char [] []!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句