cannot convert 'int (*)[M]' to 'int (*)[100]' for argument '3' to 'void TSP(int, int, int (*)[100], int (*)[100])'
时间: 2024-03-25 17:21:35 浏览: 62
这个错误提示是因为你尝试将一个 `int(*)[M]` 类型的指针作为参数传递给了一个接受 `int(*)[100]` 类型的函数。
`int(*)[M]` 表示一个指向长度为 M 的整型数组的指针,而 `int(*)[100]` 表示一个指向长度为 100 的整型数组的指针。这两者类型不同,因此不能直接进行赋值或传递参数。
解决这个问题的方法是,在函数声明和定义处都将参数改为 `int(*arr)[M]` 类型,以匹配传递进来的参数类型。
相关问题
[Error] cannot convert 'int*' to 'PHtTree* {aka HtTree*}' for argument '1' to 'void huffmancodes(PHtTree*, int*, int*, int)'
这个错误是因为你尝试将一个指向`int`类型的指针转换为指向`HtTree`类型的指针,而这是不允许的。
可能的原因是你在调用`huffmancodes`函数时传递了错误类型的参数。请检查你传递给`huffmancodes`函数的第一个参数是否是指向`HtTree`类型的指针,如果不是,请更正该参数。
另外,也请确保你的代码中已经正确定义了`PHtTree`和`HtTree`类型。
[Error] cannot convert 'int*' to 'int (*)[5]' for argument '6' to 'int Knapsack(int*, int*, int, int, int*, int (*)[5])'
这个错误提示是因为你尝试将一个指向 int 类型的指针传递给一个指向 int 数组的指针参数。这是不兼容的类型。
在调用 Knapsack 函数时,第六个参数需要传递一个指向 int 数组的指针。但是你传递的是一个指向 int 类型的指针。
你需要将第六个参数声明为指向 int 类型的指针,或者将其改为指向 int 数组的指针。具体如何修改要看代码的具体情况。
阅读全文