Dot notation is indeed not defined for function handles. You can't do:
f = @sin;
% Commenting this code that would error so the block of code later in this answer can run
%{
g = f.x
%}
If your function handle returns a struct array and you're using a fairly recent release of MATLAB (I don't remember which one introduced this behavior) you could index directly into the result of evaluating the function handle.
q = @whos;
names = {q().name}
names = 1x2 cell array
{'f'} {'q'}
But that would require your cons_n to return a struct array and for you to call it then index into the output.
Best Answer