title: Passing an array as a parameter with default values into int main()
body: <p>I am having difficulty passing an array as an argument into <code>int main()</code> with default values.
  For example:</p>
  
  <pre><code>int main(int a){}
  </code></pre>
  
  <p>works wonderfully. As does</p>
  
  <pre><code>int main(int a = 1){}
  </code></pre>
  
  <p>Passing <code>int main()</code> an array also works wonderfully:</p>
  
  <pre><code>int main(int a[3])
  </code></pre>
  
  <p><strong>However, combining these two concepts seems break:</strong></p>
  
  <pre><code>int main(int a[1] = {0,1})
  </code></pre>
  
  <p>After a significant amount of <a href="http://www.google.com/#hl=en&amp;sugexp=ldymls&amp;xhr=t&amp;q=c%2B%2B+parameter+default+value+array&amp;cp=33&amp;pf=p&amp;sclient=psy&amp;aq=f&amp;aqi=&amp;aql=&amp;oq=c%2B%2B+parameter+default+value+array&amp;pbx=1&amp;fp=ac5229e2e8efe107" rel="nofollow noreferrer">googleing</a>, I haven't found a solution.</p>
  
  <p><em>please help me SO, you're my only hope!</em></p>
  
  <h1>EDIT</h1>
  
  <p>The purpose of this, in short, is to make my code as little lines as possible, for a challenge my professor recently issued (not for points -- just for learning). The assignment is to create a recursive "12-days-of-chirstmas" program</p>
  
  <p>This is my current program</p>
  
  <pre><code>#include &lt;iostream&gt; 
  #include &lt;string&gt;
  void p(std::string v){std::cout&lt;&lt;v;}
  std::string v[13] = {"A Partridge in a Pear Tree.\n\n","2 Turtle Doves\n","3 French Hens\n","4 Colly Birds\n","5 Gold Rings\n","6 Geese-a-Laying\n","7 Swans-a-Swimming\n","8 Maids-a-Milking\n","9 Ladies Dancing\n","10 Lords-a-Leaping\n","11 Pipers Piping\n","12 Drummers Drumming\n",""};
  int main(){
      switch(v[12].length()){
          case 12:system("pause"); return 0;
          case 11:p(v[11]);
          case 10:p(v[10]);
          case 9: p(v[9]);
          case 8: p(v[8]);
          case 7: p(v[7]);
          case 6: p(v[6]);
          case 5: p(v[5]);
          case 4: p(v[4]);
          case 3: p(v[3]);
          case 2: p(v[2]);
          case 1: p(v[1]);
          case 0: p(v[0]); 
      }v[12] += "0";
      main();
  }
  </code></pre>
  
  <p>I would like to pass in the array of verses as an argument to main instead of declaring it above the function.  I know, not the most memory/stack conscious. But it would eliminate a line :)</p>