错误:参数'DelNode\u ptr'的类型不完整
为什么我会得到这个错误,每件事都是正确的,这里的pktFltr包含了ip、udp和tcp的结构。
struct classifier
{
int clsf_count;
int key_node;
struct packet_filter pktFltr;
struct classifier *next;
}__attribute__((packed));
void delete_rules(struct classifier keys)
{
int key;
key = 822;
keys.key_node = 822;
inet_aton("172.28.6.137", &(keys.pktFltr.ip.ip_src));
inet_aton("172.28.6.110",&(keys.pktFltr.ip.ip_dst));
keys.pktFltr.protocol.proto.uh_sport = ntohs(1032);
keys.pktFltr.protocol.proto.uh_dport = ntohs(5000);
DelNode(key,keys);
}
void DelNode(int key, struct classifer DelNode_ptr)
{
..........
.........
}
main()
{
struct classifier keys;
delete_rules(keys);
}
最佳答案
你打错了字:
void DelNode(int key, struct classifer DelNode_ptr)
应该是
void DelNode(int key, struct classifier DelNode_ptr)
除此之外,您最可能希望在函数中传递指向结构的指针:
void delete_rules(struct classifier *keys)
{
int key;
key = 822;
keys->key_node = 822;
inet_aton("172.28.6.137", &(keys->pktFltr.ip.ip_src));
inet_aton("172.28.6.110",&(keys->pktFltr.ip.ip_dst));
keys->pktFltr.protocol.proto.uh_sport = ntohs(1032);
keys->pktFltr.protocol.proto.uh_dport = ntohs(5000);
DelNode(key, keys);
}
void DelNode(int key, struct classifier *DelNode_ptr)
{
// ...
}
main()
{
struct classifier keys;
delete_rules(&keys);
}
关于c - C中的错误不完整类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5867316/