User forums > Help
Pointer arithmetic - casting pointer to other type
(1/1)
Mr.Madguy:
I'm new to C++ and this language seems to be a little bit vague for me.
Please explain, for what reason I should use such code
--- Code: ---void* Src;
{
t* TempSrc = (t*)Src;
...
TempSrc++;
...
Src = (void*)TempSrc;
};
--- End code ---
instead of just
--- Code: --- void* Src;
(t*)Src++;
--- End code ---
?
In second case compiler complains about incrementing void pointer, so I assume, that pointer casting doesn't work. And in case of ((t*)Src)++ compiler complains about lvalue.
Miguel Gimenez:
Programming questions are OT here.
Mr.Madguy:
Ok, seems to be fixed via following trick:
--- Code: ---Src = (void*)((t*)Src + 1);
--- End code ---
Navigation
[0] Message Index
Go to full version