title: Metatrader MQL4: Can't define function default values in .mqh file
body: <p>I can't understand how to define default values for functions in my library. Default values tend to be ignored and I get "wrong parameters count" error message.</p>
  
  <p>Here is my example. I created simple test library <code>experts\libraries\test.mq4</code>:</p>
  
  <pre><code>void test(int i = 0) // Note the default value for "i"
  {
  }
  </code></pre>
  
  <p>Then I created <code>.mqh</code> file as <code>experts\include\test.mqh</code>:</p>
  
  <pre><code>#import "test.ex4"
  void test(int i = 0); // Note the default value for "i"
  #import
  </code></pre>
  
  <p>Now I create simple expert "experts\simpletest.mq4":</p>
  
  <pre><code>#include &lt;test.mqh&gt;
  int start()
  {
      // Should be able to call test() function without providing any arguments,
      // because it has default value.
      // If I change this line to test(0), everything compiles correctly
      test(); // Causes "wrong parameters count" compilation error
  
      return(0);
  }
  </code></pre>
  
  <p>And I get the following error for test() function call:</p>
  
  <blockquote>
    <p>')' - wrong parameters count</p>
  </blockquote>
  
  <p>If I change this function call to <code>test(0)</code>, everything compiles, but I should be able to call <code>test()</code> function without providing any parameters, because I have default value for first parameter in .mqh file, like this: void test(int i = 0);
  Why it doesn't use the default value?</p>
  
  <p>I search google for any clue, but can't find any references about this problem. Anybody knows?</p>