.c ファイルとプライベート .h ファイルがかなり複雑な構造を定義するようにいくつかの C コードを設計しようとしていますが、パブリックに面したヘッダー ファイルはその構造型へのポインターのみを必要とします。私が試したのはこれでした:
publicRadio.h
typedef struct _radio Radio;
void radioReceive(Radio *radio, ....);
privateRadio.h
#include <publicRadio.h>
struct _radio {
...
...
}
ラジオ.c
#include <publicRadio.h>
#include <privateRadio.h>
void radioReceive(Radio *radio, ....)
{
...
}
これをコンパイルしようとすると、次のようなものが得られます
radio.c:91:9: error: parameter 'radio' has just a forward declaration
radio.c:90:6: error: conflicting types for 'radioReceive'
publicRadio.h:29:6: note: previous declaration of 'radioReceive' was here
私は、関数を介して構造を公開する公開 API を持つ他のライブラリで見たパターンをエミュレートしようとしていますが、詳細は隠しています。それを達成するために使用するレシピは何ですか?