这个错误提示是因为函数rte_hash_lookup_data()的第三个参数类型应该是void **,但实际传入的参数类型为struct ipv4_route_hash_value *。
这个问题可以通过将第三个参数地址取出来再进行传递来解决。具体做法如下:
struct ipv4_route_hash_value* route = ...; //获取一个ipv4_route_hash_value指针
void* data;
rte_hash_lookup_data(h, key, &data);
*route = *(struct ipv4_route_hash_value*)data;
以上代码将会把data转换成ipv4_route_hash_value结构体类型并赋值给指针变量route, 从而避免了类型不匹配的问题。




