C++ error: 'No suitable conversion function from [class name] to “void *"

C++ error: 'No suitable conversion function from [class name] to “void *"

我正在尝试复制 2 个数组,因为传统的复制方法没有给我更新的值。所以我正在尝试通过 memcpy 方法

ret_t ifxPkc:: regSCM0ReadCB(uint32 idx,tlm::tlm_generic_payload& p)
{

    memcpy(scmr0Reg_,scMem, sizeof(scmr0Reg_));

    return scmr0Reg_[idx].read(p);
}

这是一个回调函数。这里的 idx 会随着另一段代码的每次调用而递增。

scmr0Reg_ 属于 IfxPkcScmR0Register class。 此外,IfxPkcScmR0Register属于

class IfxPkcScmR0Register : public SC_BSX::IdxReg32

以上述格式使用时出现错误 -

C++ 错误:'没有合适的从 [class name] 到“void *”

的转换函数

我能否获得有关如何在 memcpy 函数中使用它的帮助?

谢谢。

memcpy 将指针作为前两个参数。由于从您的代码中看不出 scmr0Reg_scMem 的数据类型是什么,我假设它们是一些对象。在这种情况下,您需要将指针作为 memcpy(&scmr0Reg_, &scMem...

传递给它们