Я пытаюсь написать такую функцию:
int solve(double* x, double xA, double xB, double zeps,
double funct(double x, double*), ...)
Здесь funct - это другая функция, передаваемая в качестве аргумента. Теперь я хотел бы использовать va_list
для доступа ко второму аргументу этой функции 'funct'
, который является double*
. Итак, я делаю:
va_list point_arg ;
va_start ( point_arg , funct ) ;
double pp = va_arg ( point_arg , double );
double * pp = va_arg ( point_arg , double * );
Кажется, насколько я понимаю, первый va_arg
, который я использую, успешно находит первый аргумент функции 'функция', который является двойным. Тем не менее, второе использование va_arg
не может получить правильный указатель на double (второй аргумент). Знаете ли вы, возможно ли это, а если нет, то как это сделать?