1. ホーム
  2. リナックス

エラー内容:不完全な型へのポインタの再参照の解決方法

2022-03-02 21:53:55

質問です。

プログラムをコンパイルすると、次のようなコンパイルエラーが発生します。

dingq@u1110-120628:~/hwsvn/2sw/1prj_linux/pdu/src/branches/pdu-isocket/isocket$ gcc -o tcpclient tcpclient.c 
tcpclient.c: In function 'main':
tcpclient.c:59:46: error: dereferencing pointer to incomplete type

ソースコードは

	// set params of sockaddr_in instances
	serv_addr.sin_family = AF_INET;
	serv_addr.sin_port = htons(PORT);
	serv_addr.sin_addr = *((struct in_addr*)host->h_addr);
	bzero(&(serv_addr.sin_zero), 8);






解決策

1.ドッグサーチをかけて、不完全な型、型定義だけで、型宣言がないことが原因であることを確認する。

さらに、特定のヘッダが含まれていないことが問題の原因であること。

2. ヘッダーファイル <netdb.h> をインクルードし、リコンパイルすると、エラーが出なくなります。

問題は解決しました。