0

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

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

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() 返回一个双指针,知道我哪里出错了?

4

0 回答 0