数据类型在函数调用中不匹配

卡方

我在为自己编写的功能匹配数据类型时遇到麻烦,

该函数是:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章