Saya mencoba membuat fungsi yang mengambil void*
, menyalin sebagian memori ke dalamnya, dan kemudian memindahkan penunjuk. Karena ini adalah penunjuk kosong, saya pikir saya akan melemparkannya ke char*
dan memindahkannya, seperti:
PVOID SendAndMoveHead(PVOID dest, const Message& message, const size_t& size)
{
PVOID ret = CopyMemory(dest, (PVOID)message.msg.c_str(), size);
((char*)dest) += size;
return ret;
}
Namun, VS mengeluh tentang ((char*)dest)
ucapannya
ekspresi harus saya nilai yang dapat dimodifikasi
yang menurut saya memang demikian, karena karya berikut ini:
PVOID SendAndMoveHead(PVOID dest, const Message& message, const size_t& size)
{
PVOID ret = CopyMemory(dest, (PVOID)message.msg.c_str(), size);
char* d = (char*)dest;
d += size;
return (PVOID)d;
}
Jika seseorang dapat menjelaskan mengapa versi pertama tidak berfungsi, saya akan sangat menghargainya.
const Message&
danmessage.msg.c_str()
tidak memberikan ruang untuk argumen. - person StoryTeller - Unslander Monica   schedule 08.09.2017