title: Why do I get a "Too many input arguments" error when not passing any?
body: <p>I am working on some simple object-oriented code in MATLAB. I am trying to call one of my class methods with no input or output arguments in its definition.</p>
  
  <p>Function definition:</p>
  
  <p><code>function roll_dice</code></p>
  
  <p>Function call:</p>
  
  <p><code>obj.roll_dice;</code></p>
  
  <p>When this is executed, MATLAB says:</p>
  
  <pre><code>??? Error using ==&gt; roll_dice
  Too many input arguments.
  
  Error in ==&gt; DiceSet&gt;Diceset.Diceset at 11
  obj.roll_dice;
  (etc...)
  </code></pre>
  
  <p>Anyone have any ideas what could be causing it? Are there secret automatic arguments I'm unaware that I'm passing?</p>