diff --git a/code/classes/SCDclass_algo.m b/code/classes/SCDclass_algo.m index a95e9f1f19db6c888e6403a058001af04acc03b9..ae84a6ff2c5a500690440bd59833b9ed2f71440c 100644 --- a/code/classes/SCDclass_algo.m +++ b/code/classes/SCDclass_algo.m @@ -253,7 +253,13 @@ classdef SCDclass_algo initcmd=sprintf('%s(obj);', initfunction); value = eval(initcmd); elseif isa(initfunction,'function_handle') - value = initfunction(obj); % call function handle directly + if nargin(initfunction)==1 + value = initfunction(obj); % function has an input argument + elseif nargin(initfunction)==0 + value = initfunction(); % no input arguments + else + error('unexpected number of input arguments for function %s',func2str(initfunction)); + end else error('initfunction must be a string or a function handle') end