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 중국어 웹사이트의 기타 관련 기사를 참조하세요!