“c函数”;不兼容类型错误的表达式“; int GreedyArm(常量armArray[],int numArms){ int max=armArray[0];//使用不兼容类型的表达式const Arm初始化“int” for(int i=1;i

“c函数”;不兼容类型错误的表达式“; int GreedyArm(常量armArray[],int numArms){ int max=armArray[0];//使用不兼容类型的表达式const Arm初始化“int” for(int i=1;i,c,types,C,Types,const Arm armArray[]是一个Arm。int max是一个int。它们不一样。什么是Arm类型?从错误消息中可以看出,该类型是一个结构(即struct Arm_struct{…})。max被声明为一个int。不能将结构分配给int 由于GreedyArm返回int,我假设它应该返回您正在使用的项的索引。因此,请使用max=0,然后比较armArray[max]。somefield

const Arm armArray[]
是一个Arm。
int max
是一个int。它们不一样。

什么是Arm类型?从错误消息中可以看出,该类型是一个结构(即struct Arm_struct{…})。max被声明为一个int。不能将结构分配给int


由于GreedyArm返回int,我假设它应该返回您正在使用的项的索引。因此,请使用max=0,然后比较armArray[max]。somefieldArm struct。使用不兼容类型“const bantiarm”(也称为“const struct Arm_struct”)的表达式初始化“int”它的结构类型您必须比较该类型的字段。您不能将结构分配给int。请参阅try answer的第二部分(您回答时我可能正在编辑它)。此外,当名称为max时,您似乎正在计算min。
int GreedyArm(const Arm armArray[], int numArms) {
    
    int max= armArray[0];  // initializing 'int' with an expression of incompatible type const Arm'
    for(int i =1; i<numArms; i++){
        if(max < armArray[i])
        {
            max = armArray[i];
        }
    }
    return max; 
}