C2679 binary '>>': no operator found which takes a right-hand operand of type 'const std::string' (or there is no acceptable conversion)
<p>I had researched already for a reasonable answer to my problem. I am doing a college project, but i don't have the string inclusion error that I had found in others codes and i need some that give me a tip about what is happening.</p>

<p><strong>Error</strong>:</p>

<pre><code>C2679   binary '&gt;&gt;': no operator found which takes a right-hand operand of type 'const std::string' (or there is no acceptable conversion)  PhoneCall2  c:\users\mano\documents\visual studio 2015\projects\phonecall2\phonecall2\phonecall.h   25
</code></pre>

<p><strong>Code</strong>:</p>

<pre><code>#include &lt;iostream&gt;
#include &lt;istream&gt;
#include &lt;string&gt;
using namespace std;

class PhoneCall
{
public:
    PhoneCall();
    PhoneCall(string, int);
    ~PhoneCall();

private:
    string phoneNumber;
    int length;
    double static ratePerMinute;

    friend ostream &amp;operator &lt;&lt; (ostream &amp;output, const PhoneCall &amp;Call) {
        output &lt;&lt; "Phone number :" &lt;&lt; Call.phoneNumber&lt;&lt;"Length :"&lt;&lt;Call.length;
        return output;
    }

    friend istream &amp;operator &gt;&gt; (istream &amp;input, const PhoneCall &amp;Call) {
        input &gt;&gt; Call.phoneNumber &gt;&gt; Call.length; \\right here.
        return input;
    }

    friend bool operator==(const PhoneCall &amp;p1, const PhoneCall &amp;p2);
    friend bool operator !=(const PhoneCall &amp;p1, const PhoneCall &amp;p2);
};
double PhoneCall::ratePerMinute = 0.00;

PhoneCall::PhoneCall() {
    phoneNumber = "";
    length = 0;
}

PhoneCall::PhoneCall(string c, int m) {
    phoneNumber = c;
    length = m;
}

bool operator==(const PhoneCall &amp;p1, const PhoneCall &amp;p2){
    return (p1.phoneNumber == p2.phoneNumber);
}
bool operator!=(const PhoneCall &amp;p1, const PhoneCall &amp;p2){
    return !(p1.phoneNumber == p2.phoneNumber);
}

PhoneCall::~PhoneCall() {}`
</code></pre>