Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        5年前关闭。
                                                                                            
                
        
我有这个功能:

VOID myFunc(INT start, INT end)
{
  //statements
}


我这样称呼:

myFunc (Arr[new_1].Msg,Arr[new_2].Msg);


产生错误:
警告:传递参数1的方法从指针生成整数而不进行强制转换[默认启用]

Arr是一个结构数组,全局定义为:

MY_STRUCT Arr[100];


MY_STRUCT定义为:

typedef struct MY_STRUCT {
    INT Num;
    MsgType *Msg;
} MY_STRUCT;


有人可以帮助我解决此警告吗?

最佳答案

您的函数需要INT参数:

VOID myFunc(INT start, INT end)


不幸的是,您传递的是Arr[new_1].Msg之类的东西,它是一个MsgType指针,因此是消息。

我怀疑您应该这样做:

myFunc (Arr[new_1].Num, Arr[new_2].Num);

10-04 20:56
查看更多