C ++で演算子をオーバーロードしようとしましたが、いくつか問題があります。これは私が私のクラスに持っているものです:
ostream & operator <<(ostream & s)
{
s << w();
return s;
}
string w()
{
stringstream ss;
string str;
for (int i=n-1; i>=0; i--)
{
if (i==n-1)
{
ss<<tablica[i] << "x^" << i;
}
else
{
if (tablica[i]<eps && tablica[i]>-eps) ss <<"+" << +tablica[i]<< "x^" << i;
else if (tablica[i]<eps)ss << tablica[i]<< "x^" << i;
if(tablica[i]>eps) ss <<"+" << +tablica[i]<< "x^" << i;
}
}
ss >> str;
return str;
}
私はこれを次のように使用しようとしています:
cout << p << endl;
エラー:no match for 'operator<<' in 'std::cout << p
これが私のプログラムのコード全体です:http://codepad.org/xBijPMCp