У меня есть функция, которая принимает переменное количество указателей, которые я хотел бы изменить.Это выглядит примерно так:
void myPointerModifyingFunction (int num_args, ... ) {
void *gpu_pointer;
char mem_type;
va_list vl;
va_start(vl,num_args);
for (int i=0;i<num_args;i++) {
gpu_pointer=va_arg(vl,void*);
gpu_pointer = CUT_Malloc(100);
}
}
функция CUT_Malloc выделяет память (на графическом процессоре с использованием CUDA) и возвращает адрес.Однако ясно, что я не использую этот адрес должным образом, так как gpu_pointer будет уничтожен в конце этой функции. Как я могу изменить указатели, переданные как часть списка переменных аргументов?