C関数の先頭にある(void)'変数名'は何をするのでしょうか?[重複しています]。
2023-08-14 13:48:31
質問
このサンプルコードはFUSEから読んでいます。
http://fuse.sourceforge.net/helloworld.html
そして、次のコードのスニペットが何をするのか理解するのに苦労しています。
static int hello_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
off_t offset, struct fuse_file_info *fi)
{
(void) offset;
(void) fi;
具体的には、(void) "変数名"の件です。C言語でこのような構造を見たことがないので、Googleの検索ボックスに何を入力したらいいのかさえわかりません。私の現在の最良の推測では、これは未使用の関数パラメータのためのある種の指定子なのでしょうか?もし、これが何であるか知っていて、私を助けてくれる人がいれば、それは素晴らしいことです。ありがとうございます。
どのように解決するのですか?
いくつかのコンパイラの警告を回避することができます。 一部のコンパイラは、関数のパラメータを使用しない場合に警告を発します。 このような場合、意図的にそのパラメータを使用せず、何らかの理由でインターフェースを変更することができないが、それでも警告を遮断したい場合があります。 その
(void)
というキャスト構成は、警告を消すためのノー・オペレーションです。 以下はclangを使った簡単な例です。
int f1(int a, int b)
{
(void)b;
return a;
}
int f2(int a, int b)
{
return a;
}
を使ってビルドします。
-Wunused-parameter
フラグを使用してビルドし、presto。
$ clang -Wunused-parameter -c -o example.o example.c
example.c:7:19: warning: unused parameter 'b' [-Wunused-parameter]
int f2(int a, int b)
^
1 warning generated.
関連
-
[解決済み] Code::Blocks アプリケーションをコンパイルできない
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] C++でextern "C "を使用した場合の効果は?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] ++iとi++の違いは何ですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】定義と宣言の違いは何ですか?
-
[解決済み】ストリクト・エイリアシング・ルールとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
error: '.' トークンの前にunqualified-idを指定する必要があります。
-
g++が内部・外部コマンドソリューションとして認識されない、MinGWを初めて使うときの落とし穴
-
[C] レポートエラー 代入の左オペランドとしてlvalueが必要
-
ポインタ定数および定数ポインタ
-
initializer element is not constant "というエラーが表示されるのですが?
-
C - 添え字の値が配列でもポインタでもベクトルでもないエラー
-
[解決済み] C言語で%sを正しく使う - 超基本レベル
-
[解決済み] printfは、フォーマット文字列の中に改行がないと、呼び出し後にフラッシュしないのはなぜですか?
-
[解決済み] C言語の構造体(CGRectやCGPointなど)をNSLog化することは可能ですか?
-
[解決済み] なぜ未使用の関数パラメータをvoidにキャストするのですか?