这里有一个类似的问题Portable and safe way to add byte offset to any pointer
但所有答案都以ptr = (SomeType*)...开头,这意味着我必须知道指针的类型,而我想使用这个宏:
#define ptradd(ptr, delta) (size_t) ptr = (size_t) ptr + (size_t) delta
ptradd(prect, offset);
它在 VC 下工作,但在 GCC 下失败,错误 lvalue required as left operand of assignment。
我怎样才能使它在 GCC 下工作?