MATLAB: How to change datatype of libpointer

libpointer;datatype;calllib;shared lib;MATLAB

Hi , I am trying to use Matlab and shared library.
If I have a C function which is like below
void * foo(int n);
It's just like that we get a void type pointer containing n int data , returned from foo .
In C , we can change void type to int or double easily.
But how to change type in Matlab ?
I tried
pointer = calllib(lib,'foo',1000);
pointer.datatype = 'uint16Ptr'; %Changing the 'DataType' property of lib.pointer is not allowed.

Best Answer

setdatatype(pointer, 'uint16Ptr', n); %assuming the pointer points to an array of n uint16
should work.