から初期のコンテキストを取得するコンパイルすると、私はこのエラーにかなりの数回実行しました:互換性のないポインタ型
gcc -o index.o -c -D_FILE_OFFSET_BITS=64 "-D FUSE_USE_VERSION=31" index.c
index.c:40:12: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
.write = o_write,
^~~~~~~
をヒューズのドキュメントが矛盾してスパースになる傾向があるので、私は左探しています適切なメソッドの署名を見つけるために、GitHub上の他のファイルシステムの実装を参照してください。
はこの場合、私の問題があった。
私はこの警告が表示されたら、知るための簡単な方法があります:
int o_write(const char*, char*, size_t, off_t, struct fuse_file_info*);
は
int o_write(const char*, const char*, size_t, off_t, struct fuse_file_info*);
私の質問はされている必要がありますポインタの種類はとするととなりますか? a proper implementation in sshfsを追跡するのにかなり時間を費やしましたが、より簡単な方法があるように感じます。
「書き込み」のタイプを調べることができます –
この[スレッド](https://gcc.gnu.org/ml/gcc-help/2002-10/msg00149.html)では、 'const'キーワードについては言及していませんが、説明はポインタにも当てはまります –
gccはこれらの警告に対しては無用です。 gcc _knows_予想されるどのタイプで、どのタイプを渡しましたか。プログラマに知らせるのは面倒ではありません。 – Lundin