MATLAB: Overloaded subsref function with varargout, nargout is incorrect

MATLABnargout malfunctioningnargout r2011bnargout returns numeloverloaded functions

I have created an overloaded subsref function for a class definition I've created to emulate the table datatype in R2011b. The function works robustly in R2015b, but when I use it in R2011b the value returned for nargout is wrong.
For example, with 0-1 output arguments, nargout returns numel(obj). With >=2 output arguments, the value returned for nargout is correct.
I created a simple function in R2011b which uses varargout to test, but it showed no such problem.
I have also created an overloaded numel function within the same class definition file. All of the methods are defined within the same script. Would this cause a conflict in R2011b to call the wrong numel function when calling nargout?
Thanks for any tips, -Luke

Best Answer

I've checked and confirmed the interference of the overloaded numel function. Commenting it out of the class definition eliminates the error. I opened the numel documentation and found the warnings with regard to creating an overloaded numel function and the subsequent effect on the subsref and subsasgn functions. I will continue investigating, as I need the overloaded numel function. -Luke