Pointers 如何修改作为变量参数列表一部分传递的指针?

Pointers 如何修改作为变量参数列表一部分传递的指针?,pointers,memory-management,cuda,variadic-functions,Pointers,Memory Management,Cuda,Variadic Functions,我有一个函数,它接受可变数量的指针,我想修改它。它看起来像: 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*);

我有一个函数,它接受可变数量的指针,我想修改它。它看起来像:

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);
    }
}
void myPointerModifyingFunction(int num_args,…){
void*gpu\U指针;
char-mem_型;
va_列表vl;
va_开始(vl、num_参数);

对于(int i=0;i您传递给函数的指针成为参数值,即存储在函数堆栈(模结构)上,即类似于局部变量。您可能需要双指针,类似于
va_arg(vl,void**)
,并将其称为
myPointerModifyingFunction(2,&ptr0,&ptr1);


希望这能有所帮助。

注意,传递到此函数的所有指针最初都是指向指针的NULL initialisedPass指针。