问题描述:
在进行网络编程的时候,用到
bind(sockfd_, (struct sockaddr*) &local_addr, sizeof(local_addr))
但总是提示
error: reference to ‘sockaddr’ is ambiguous
问题定位:
经查,是由于在a.h中用到了struct sockaddr *,但是没有加头文件
#include <sys/socket.h>
在b.cpp中,包含了a.h和socket.h,编译器认为a.h中是一个sockaddr的结构体定义,与socket中冲突了。
解决方法:
在a.h中,包含头文件socket.h