Pointer notation in 4D looks a bit different from the C style notation used in languages like C++. It can be tempting to assume the wrong function of a certain symbol, such as the arrow, based on familiarity with C++ in particular.
A side-by-side comparison with C++ may help to see the distinction. This assumes that objX is a C++ object of class type ObjectX.
|4D Syntax||C++, Simple Variable||C++, Object Member|
|Declare Pointer||(Not required)||int *iPtr;||ObjectX *oPtr;|
|Simple Dereference||ALERT(myPtr->)||cout << *iPtr;||cout << oPtr->myInt;|
|Dereferenced Assignment||myPtr->:=13||*iPtr = 13;||oPtr->myInt = 13;|
The arrow -> (dash plus wedge) symbol is your basic pointer dereferencing symbol in 4D, similar (but not identical) to the asterisk * in C and C++. In C++ the arrow is used as a contraction of pointer dereferencing and object member access: oPtr->myInt is equivalent to *(oPtr).myInt .
One subtle difference to note in 4D is assignment of the reference to the pointer, vs. assignment of a value to the variable deferenced by the pointer:
:=-> Assign pointer to point to the variable
->:= Assign a value to the dereferenced variable