如何转换void指针类型并赋值,让BufferRec指向新内存地址?
问题:如何让
BufferRec指向另一个内存地址? 已尝试的代码
Main.h
#pragma once union TBufferRec { int ID; }; extern TBufferRec BufferRec;
Main.cpp
#include "Main.h" void CastPointer(void* PPointer) { static_cast<TBufferRec*>(*BufferRec) = static_cast<TBufferRec*>(PPointer); }
报错信息
E0349 no operator "*" matches these operands
C2679 binary '=': no operator found which takes a right-hand operand of type 'TBufferRec *' (or there is no acceptable conversion)
已解决方案
Main.h
#pragma once union TBufferRec { int ID; }; extern union TBufferRec* BufferRec; extern void MovePointer(void* PPointer);
Main.cpp
#include "Main.h" TBufferRec* BufferRec; void MovePointer(void* PPointer) { BufferRec = static_cast<TBufferRec*>(PPointer); }
内容的提问来源于stack exchange,提问作者Pixy
相关产品推荐
相关产品推荐

