title: error: cannot convert `double ()(double) throw ()' to `double' in assignment
body: <p>Can't figure out why I have these error messages. I am brand new to C++.</p>
  
  <pre><code>payroll.cpp: In function `void fGross()':
  payroll.cpp:57: error: assignment of function `double round(double)'
  payroll.cpp:57: error: cannot convert `double' to `double ()(double)
  throw ()' in assignment
  payroll.cpp:59: error: cannot convert `double ()(double) throw ()'
  to `double' in assignment
  payroll.cpp: In function `void fSoc()':
  payroll.cpp:65: error: assignment of function `double round(double)'
  payroll.cpp:65: error: cannot convert `double' to `double ()(double)
  throw ()' in assignment
  payroll.cpp:67: error: cannot convert `double ()(double) throw ()'
  to `double' in assignment
  payroll.cpp: In function `void fFed()':
  payroll.cpp:73: error: assignment of function `double round(double)'
  payroll.cpp:73: error: cannot convert `double' to `double ()(double)
  throw ()' in assignment
  payroll.cpp:75: error: cannot convert `double ()(double) throw ()'
  to `double' in assignment
  payroll.cpp: In function `void fSt()':
  payroll.cpp:82: error: assignment of function `double round(double)'
  payroll.cpp:82: error: cannot convert `double' to `double ()(double)
  throw ()' in assignment
  payroll.cpp:84: error: cannot convert `double ()(double) throw ()'
  to `double' in assignment
  payroll.cpp: In function `void fround()':
  payroll.cpp:110: error: invalid operands of types `double ()(double)
  throw ()' and `double' to binary `operator+'
  </code></pre>
  
  <p>This is my code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;climits&gt;
  #include &lt;cmath&gt;
  
  using namespace std;
  
      double hours, gross, socSec, fedTax, stTax, ins, net;
      double const rate = 16.78;
      double unin = 10.00;
      char d = '$';
      void fGross();
      void fSoc();
      void fFed();
      void fSt();
      void fUnin();
      void fIns();
      void fNet();
      void fround();
  
  
  int main (void)
  {
          cout &lt;&lt;"\n\n\t\tWelcome to the Payroll Program!!!\n\n\n"; 
  
          cout &lt;&lt;"How many hours did you work this week?\t";
          cin &gt;&gt; hours;
          cout &lt;&lt;"How many children do you have?";
          cin &gt;&gt; ins;
  
          fGross();
          fSoc();
          fFed();
          fSt();
          fUnin();
          fNet (); 
  
          cout &lt;&lt;"Payroll Stub:\n\n\t"
               &lt;&lt;"Hours:\t" &lt;&lt; hours
               &lt;&lt;"\n\tRate:\t" &lt;&lt; rate &lt;&lt;"16.78 $/hr\n\t"
               &lt;&lt;"Gross:\t" &lt;&lt; d &lt;&lt; gross
               &lt;&lt;"\n\n\tSocSec:\t" &lt;&lt; d &lt;&lt; socSec
               &lt;&lt;"\n\tFedTax:\t" &lt;&lt; d &lt;&lt; fedTax
               &lt;&lt;"\n\tStTax:\t" &lt;&lt; d &lt;&lt; stTax
               &lt;&lt;"\n\tUnion:\t" &lt;&lt; d &lt;&lt; unin;
  
          fIns();
  
          cout &lt;&lt;"\n\tNet:\t" &lt;&lt; net &lt;&lt;"\n\nThank you for using the PP!!"
               &lt;&lt;"\n\nEndeavor to have a StarTrek-esque day!";
  
          return 0;
  }    
  
  
  void fGross()
  {
      round = rate * hours;
      fround();
      gross = round;
      return;
  }
  
  void fSoc()
  {
      round = gross * .06;
      fround();
      socSec = round;
      return;
  }
  
  void fFed()
  {
      round = gross * .14;
      fround();
      fedTax = round;
      return;
  
  }
  
  void fSt()
  {
      round = gross * .05;
      fround();
      stTax = round;
      return;
  }
  
  void fIns()
  {
      if (ins &gt;= 3)
      {
          ins = 35.00;
          cout &lt;&lt; "\n\tIns:\t" &lt;&lt; d &lt;&lt; ins;
      }
      else
      {
          ins = 0.00;
      }
      return;
  }
  
  void fNet()
  {
      net = gross - socSec - fedTax - stTax - unin - ins;
      return;
  }
  
  void fround()
  {
      round = floor((round + .05) * 100);
      return;  
  }
  </code></pre>