Can't figure out error in Eclipse
<p>I am having a problem with my program. I am using Eclipse, and I haven't been able to figure what these errors mean. I have been looking for awhile and cannot find my error. I have attached my two classes that show errors and the problem list when I build the file (I couldn't find the #endif statement into the screenshot for TransitionTable). Thanks for the help.</p>

<p>In the first class, it gives me an error in the constructor: </p>

<pre><code>no match for call to `(TranslationTable&lt;int, std::string&gt;) (std::basic_istream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;)'

#ifndef TRANSLATOR_H_
#define TRANSLATOR_H_
#include "TranslationTable.h"
#include &lt;iostream&gt;
#include &lt;cstdlib&gt;
#include &lt;fstream&gt;

template&lt;typename Key, typename Value&gt;
class Translator
{
    private:
        TranslationTable&lt;std::string,int&gt; Table1;
        TranslationTable&lt;int,std::string&gt; Table2;
        Key getKey();
        Value getValue();

    public:
        Translator();
        Translator(Key key,Value value);
        Translator(std::istream&amp; file);
};

template&lt;typename Key, typename Value&gt;
Translator&lt;Key,Value&gt;::Translator()
{
    return;
}

template&lt;typename Key, typename Value&gt;
Translator&lt;Key,Value&gt;::Translator(std::istream&amp; file)
{
    Table1(file); // gives me error here
    Table1.fillTable(file);
    Table2(file); // same error here
    Table2.fillTable(file);

}


#endif /* TRANSLATOR_H_ */
</code></pre>

<p>This is the second class with an error, and it give me an error will looping through the array:</p>

<pre><code>no match for 'operator*' in '**(((TranslationTable&lt;int, std::string&gt;*)this)-&gt;TranslationTable&lt;int, std::string&gt;::kP + (+(((unsigned int)i) * 8u)))'



#ifndef TRANSLATIONTABLE_H_
#define TRANSLATIONTABLE_H_
#include "KeyValuePair.h"
#include &lt;iostream&gt;
#include &lt;cstdlib&gt;

template&lt;typename Key, typename Value&gt;
class TranslationTable
{
    private:
        int numPairs;
        KeyValuePair&lt;Key,Value&gt; *kP;

    public:
        TranslationTable();
        TranslationTable(std::istream&amp; is);
        void fillTable(std::istream&amp; is);
        Value getValue(Key myKey) const;
};

template&lt;typename Key, typename Value&gt;
TranslationTable&lt;Key,Value&gt;::TranslationTable()
{
    return;
}

template&lt;typename Key, typename Value&gt;
TranslationTable&lt;Key,Value&gt;::TranslationTable(std::istream&amp; is)
{
    numPairs = 0;
    is &gt;&gt; numPairs;
    kP = new KeyValuePair&lt;Key,Value&gt;[numPairs];
}

template&lt;typename Key, typename Value&gt;
void TranslationTable&lt;Key,Value&gt;::fillTable(std::istream&amp; is)
{
    for(int i = 0; i &lt; numPairs; i++)
    {
        is &gt;&gt; *kP[i]; // error here
    }
}

template&lt;typename Key, typename Value&gt;
Value TranslationTable&lt;Key,Value&gt;::getValue(Key myKey) const
{


}

#endif /* TRANSLATIONTABLE_H_ */
</code></pre>
