conversion from `double' to non-scalar type requested and some other errors
<p>Please read my code, and help me to debug it. because <code>Dev-C++</code> finds a lot of errors....</p>

<pre><code>#include&lt;iostream.h&gt;
#include&lt;conio.h&gt;
using namespace std;

struct iWorker{
       double salary;
}

double calSalary(iWorker worker){
    double money = worker.salary;
    return money;
}

int main(){
    iWorker worker;

    cout &lt;&lt; "Enter salary: ";
    cin &gt;&gt; worker.salary;

    double salary = calSalary(worker, 0);
    cout &lt;&lt; salary;

    getch();
    return 0;
}
</code></pre>

<p>and errors:</p>

<pre><code>9: error: new types may not be defined in a return type
9: error: two or more data types in declaration of `calSalary'
 In function `iWorker calSalary(iWorker)':
11: error: conversion from `double' to non-scalar type `iWorker' requested

 In function `int main()':
9: error: too many arguments to function `iWorker calSalary(iWorker)'
20: error: at this point in file
20: error: cannot convert `iWorker' to `double' in initialization
</code></pre>

<p>Thank you ...</p>
