【发布时间】:2012-06-12 08:32:38
【问题描述】:
我在 Solaris 中编译了一个 C 程序并收到此警告。
line 68: warning: improper pointer/integer combination: op "="
我的代码包含
struct cmsghdr *cmsg;
第 68 行是
cmsg = CMSG_FIRSTHDR(&msg);
结构cmsghdr和CMSG_FIRSTHDR在socket.h中定义为
#define CMSG_FIRSTHDR(m)
--
--
struct cmsghdr {
socklen_t cmsg_len;
int cmsg_level;
int cmsg_type;
};
我在我的代码中包含了 socket.h。但我仍然收到此错误。
【问题讨论】:
-
你能检查一下
SOL_SOCKET是否是一个指针吗? -
第 68 行是“cmsg = CMSG_FIRSTHDR(&msg);”
-
那么你需要告诉我们 CMSG_FIRSTHDR 宏是什么样子的。
-
msg的声明是什么? -
这就是它的声明方式。结构 msghdr 消息; msghdr 也在 socket.h 中定义。
标签: c gcc-warning solaris-10