On QB64, we only have _OFFSET and _MEM.
Look at this example:
https://www.qb64.org/wiki/Windows_LibrariesAs you see, they have to substitute any pointer types with the generic _OFFSET. This is real trouble when interfacing with C or even doing something useful with it own.
Look at this example:
int somefunc(struct somestruct *data);
Which translate to this in QB64:
function somefunc%(byval data as _OFFSET)
How we actually use this in code?
Instead of parse it directly like on FB, we have to create it first:
dim data as somestruct
data.somefield = somedata;
...
somefunc%(_OFFSET(data))
This is how we call it. Think about it. How inconvenient it is? It's also not type-safe as the generic pointer _OFFSET has no type and we have to workaround this by comment, intensive comments! Instead of a self explantory declaration on FB:
declare function somefunc(byval data as somestruct ptr) as integer
p/s: FB stands for FreeBASIC.