title: "Cannot convert parameter from '[classname](_cdecl *)(void)' to '[classname]'" error when constructing an object
body: <p>Note: I'm using Visual Studio 2010.</p>
  
  <p>There are two important classes here, Date and Directory.</p>
  
  <pre><code>class Date
  {
  private:
      int month, day, year;
  public:
      Date();
      Date(int month, int day, int year);
  };
  
  class Directory : public [Superclass]
  {
  private:
      File* fileContents[50];
      Directory* dirContents[5];
  public:
      Directory();
      Directory(char* name, 
          long size, 
          Date dateCreated, 
          Date dateModified,
          Date dateAccessed,
          int attributes);
  };
  </code></pre>
  
  <p>I defined the constructors farther down - the <code>Date</code> constructor works just like you think it does. Now, I'm <strong>really</strong> new to C++, so I can't even comprehend the error messages I'm getting. If I try to use the default constructor for <code>Directory</code>, I get this error message:</p>
  
  <pre><code>error LNK2019: unresolved external symbol "class Directory __cdecl d(void)" (?d@@YA?AVDirectory@@XZ) referenced in function _main
  </code></pre>
  
  <p>If I try to make it by using 3 <code>Date</code> objects, with this code:</p>
  
  <pre><code>int main()
  {
      Date d1();
      Date d2();
      Date d3();
      Directory d("Hello", 12, d1, d2, d3, 0);
      cout &lt;&lt; d;
  }
  </code></pre>
  
  <p>These are my error messages:</p>
  
  <pre><code>error C2664: 'Directory::Directory(char *,long,Date,Date,Date,int)' : cannot convert parameter 3 from 'Date (__cdecl *)(void)' to 'Date'
  </code></pre>
  
  <p>IntelliSense: <code>no instance of constructor "Directory::Directory" matches the argument list</code></p>
  
  <p>EDIT: So, in a continuing effort to make zero sense to me, VS has decided to compile my program fine when the three <code>Date</code> arguments are created with <code>Date da[3]</code> and the arguments for the constructor are <code>("Hello", 12, d[0], d[1], d[2], 0)</code>. </p>