title: Is this' type variableofType()' function or object?
body: <pre><code>#include&lt;iostream&gt;
  class name
  {
  public:
      int a;
      name():a(0){};
  };
  void add(name * pname)
  {
      pname = NULL;
  }
  int main()
  {
      name varName();
      name * pName = new name();
      add(pName);
      add(&amp;varName);//error C2664: 'add' : cannot convert parameter 1 from 'name __cdecl *)(void)' to 'name *'
  }
  </code></pre>