C++ 指针的地址在C++;

C++ 指针的地址在C++;,c++,segmentation-fault,pointer-to-pointer,C++,Segmentation Fault,Pointer To Pointer,我有一个函数,它应该返回一个双指针,它应该返回指向一段数据的指针地址,在这个例子中是一个字符数组 原始数据作为构造函数中的参数发送 Classname::Classname(void* fdata); 然后将其复制到名为frame_data的void*数据成员中,并使用 frame_data = fdata; 返回双指针的函数定义为 void** Classname::data(){ return &frame_data; } 最后,后面调用data()的函数 这就是程序出

我有一个函数,它应该返回一个双指针,它应该返回指向一段数据的指针地址,在这个例子中是一个字符数组

原始数据作为构造函数中的参数发送

Classname::Classname(void* fdata);
然后将其复制到名为frame_data的void*数据成员中,并使用

frame_data = fdata;
返回双指针的函数定义为

void** Classname::data(){
    return &frame_data;
}
最后,后面调用data()的函数


这就是程序出错的地方。显然有些问题,但我不确定问题出在哪里。在这个程序中,sprintf行是不可更改的,data()返回双指针的事实也是如此,知道我哪里出错了吗?

字符串缓冲区内存分配在哪里?避免传递指针-有引用你会看到错误在哪里。这正是为什么据我所知,每个人都停止使用void*@Dieter Lücking,我必须传递一个指针,除非我只是把术语弄乱了。您向我们展示的代码中没有任何错误,问题出在其他地方。你应该准备一份报告。
std::sprintf(*(char**)classn.data(), "LOOP No: %d", loop);