我有一个函数应该返回一个双指针,它应该将指针的地址返回到一个数据,在这个例子中是一个字符数组
原始数据在构造函数中作为参数发送
Classname::Classname(void* fdata);
然后将其复制到名为 frame_data 的 void* 数据成员
frame_data = fdata;
返回双指针的函数定义为
void** Classname::data(){
return &frame_data;
}
最后是后面调用data()的函数
std::sprintf(*(char**)classn.data(), "LOOP No: %d", loop);
这就是程序段错误的地方。显然出了点问题,但我只是不确定问题出在哪里。在这个程序中,sprintf 行是不可更改的,因为 data() 返回一个双指针,知道我哪里出错了?