当前位置: 首页 > 知识库问答 >
问题:

从“int”到“int*”CPP的转换无效

武博艺
2023-03-14
#include <iostream>
#include <cstring>
#include<bits/stdc++.h>

using namespace std;

int static t[1000][1001];
int solve(int arr[],int i, int j)
{
    if(i>=j)
        return 0;
    if(t[i][j]!=-1)
        return t[i][j];
    int mini=INT_MAX;
    for(int k=i;k<=j-1;k++)
    {
        int temp=solve(arr,i,k)+solve(i,k+1,j)+(arr[i-1]*arr[k]*arr[j]);
        if(temp<mini)
            mini=temp;

    }
    return t[i][j]=mini;
}
int main()
{
    memset(t,-1,sizeof(t));
    int arr[]=[20,30,40,10,60,90];
    solve(arr,1,sizeof(arr))


}

以上代码是动态规划中MCM代码

我得到的错误消息是从“int”到“int*”的转换无效,这意味着什么以及如何解决这个错误

共有1个答案

封德华
2023-03-14

表达式solve(i,k+1,j)是错误的-solve函数需要一个指向int的指针作为它的第一个参数,该参数应该指向数组,但您只传递了一个整数i

 类似资料:
  • 之前,我已经实施了此功能,并且它起到了作用: 我甚至可以用下面的东西检查我是否得到了正确的尺寸,一切都很好。 但是,在使用以下初始化尝试整个程序时,我得到了一个编译错误: 以下是错误消息: rbm. cpp:在函数“ululemexFunction(int, mxArray**, int, const mxArray**)”中:rbm. cpp: 570:64: error:从“int”到“int

  • 我一直在尝试编译,并玩了一圈的和数,但仍然不能弄清楚错误是什么。有什么想法吗? 标题:

  • 我想创建一个简单的3x3矩阵类,并能够通过下标操作符访问其内容。代码如下: 我希望能够访问数组的元素,无论矩阵的对象是常量还是非常量。但我从编译器中得到以下错误: 错误:从“const int*”到“int*”的转换无效[-fpermissive] 我做了一些研究,我有一个假设:也许,因为我已经将这个成员函数声明为const函数,在它的定义中,编译器将对象的所有不可变成员视为const成员(它掩盖

  • 问题内容: 我想对成绩簿方法使用2D数组,其中包含学生姓名,然后是考试成绩。在课堂上,我有以下内容。 但是我得到一个错误int []无法转换为int。 问题答案: 你有: 但是是一个。数组维数必须为,因此不能用作数组维数(鉴于字面量是多少,我可以理解您对错误的困惑:它想要一个,但您给了它一个)。 从您的描述来看,我猜您的意思是: 哪里是你需要的,包含考试的次数。不过,只是一个猜测。

  • 问题内容: 这里是编程的新手,并且我一直收到错误消息,“不兼容的类型,不能将int转换为int []”,问题是如果R1和R2的长度相等,则将它们加在一起,如果没有打印出一条信息,说明“数组的长度必须相同”,如果这很重要,则不知道我在哪里出错,将不胜感激任何帮助 问题答案: 您需要分配给数组元素,但是这样做做错了。

  • 我使用< code>typedef unsigned int value_t定义了一个类型;和一个函数 编译器拒绝编译它,说:无效的转换从'int(*)()(true)'到'value_t{aka int}'。 这是什么意思?查看numeric_limits类,< code>min()函数应该返回一个通过template typename传递给它的类型的变量,在本例中是< code>value_t

  • 我想将浮点值转换为int值或抛出异常,如果这种转换是不准确的。 我找到了以下建议:使用来转换,然后使用来检查这些值是否相等。如果它们相等,那么转换是精确的,否则就不是。 但是我发现了一个不起作用的例子。下面是演示这个例子的代码: 它输出: 我知道2147483648不适合整数范围,但我很惊讶为这些值返回true。有没有更好的方法来比较float和int?我想可以将这两个值都转换为字符串,但对于这样

  • 问题内容: 有人可以解释以下原因的原因: 给我: 知道Java中short的最大值是32767正确吗? 问题答案: 根据您的价值1亿,我得到-7936。如果将1亿变为100万,我只能得到16960。 原因是值限制在-32768到+32767之间,并且Java在转换为a时仅保留最低有效16位(缩小的原始转换,JLS 5.1.3 )。有效地执行此操作:100万个mod 2 ^ 16(a中的16位)是1