No matching function (input/output) <p>I am writing a program which works with input/output and I have a problem with two functions in my code: <code>copyText</code> and <code>print</code>. They don't work at all and I can't understand the source of my problem. I will really appreciate any help. Thanks!</p> <pre><code>#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;cctype&gt; using namespace std; void initialize(int&amp;, int[]); void copyText (ifstream&amp;, ofstream&amp;, char&amp;, int[]); void count(char, int[]); void print(ofstream&amp;, int, int[]); int main() { int line; int letter[26]; char ch; ifstream infile; ifstream outfile; infile.open("input.txt"); outfile.open("output.txt"); initialize(line, letter); infile.get(ch); while(infile) { copyText(infile, outfile, ch, letter); line++; infile.get(ch); } print (outfile, line, letter); infile.close(); outfile.close(); return 0; } void initialize(int&amp; loc, int list[]) { loc = 0; for (int i =0; i &lt;26; i++) list[i] = 0; } void copyText(ifstream&amp; in, ofstream&amp; out, char&amp; ch, int list[]) { while (ch != '\n') { out &lt;&lt; ch; count (ch, list); in.get(ch); } out &lt;&lt; ch; } void count(char ch, int list[]) { ch = toupper(ch); int index = static_cast&lt;int&gt;(ch)-static_cast&lt;int&gt;('A'); if (0 &lt;= index &amp;&amp; index &lt; 26) list[index]++; } void print (ofstream&amp; out, int loc, int list[]) { out &lt;&lt; endl&lt;&lt; endl; out &lt;&lt; " The number of lines is "&lt;&lt;loc &lt;&lt;endl; for (int i = 0; i&lt;26; i++) out &lt;&lt; static_cast&lt;char&gt;(i+static_cast&lt;int&gt;('A')) &lt;&lt; "count = " &lt;&lt;list[i] &lt;&lt; endl; } </code></pre>