【发布时间】:2014-02-19 11:21:24
【问题描述】:
我有这个功能:
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;
谁能帮我解决这个警告?
【问题讨论】:
-
.Msg是什么,是指针吗? -
而
Arr[i].Msg?的类型是什么 -
MsgType是另一个struct? -
它准确地告诉你你做错了什么。你正在传递
Msg,一个指针。它不是int。
标签: c arrays function pointers struct