ホームページ > バックエンド開発 > C++ > C である関数から別の関数に変数引数を渡すにはどうすればよいですか?

C である関数から別の関数に変数引数を渡すにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-11 17:21:15
オリジナル
778 人が閲覧しました

How Can I Pass Variable Arguments from One Function to Another in C?

C の関数間で変数引数を渡す

この質問は、変数引数リストを受け入れる別の関数に変数引数を渡すことに関するものです。このタスクには、exampleB の可変引数リストを保持しながら、example から exampleB を呼び出すことが含まれます。

引数を直接渡すことは実現できません。代わりに、可変引数リストを受け入れる中間関数が必要です。これを実現する方法は次のとおりです:

#include <stdarg.h>

static void exampleV(int b, va_list args); // Intermediary function

void example(int a, int b, ...) // Renamed for consistency
{
    va_list args;
    do_something(a);                // Use argument a
    va_start(args, b);
    exampleV(b, args);
    va_end(args);
}

void exampleB(int b, ...)
{
    va_list args;
    va_start(args, b);
    exampleV(b, args);
    va_end(args);
}

static void exampleV(int b, va_list args)
{
    ...whatever you planned to have exampleB do... // Excluding va_start and va_end
}
ログイン後にコピー

この設定では、exampleV がブリッジとして機能し、exampleB を変更せずに example から exampleB に変数引数を渡します。

以上がC である関数から別の関数に変数引数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート