Перегрузка оператора c ++: экспорт / импорт библиотеки NTL вектора ZZ_pX - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь экспортировать и импортировать вектор NTL из типа ZZ_pX. После прочтения исходного кода я нашел этот интересный оператор:

istream& operator>>(istream& s, ZZ_pX& x)
{
   NTL_INPUT_CHECK_RET(s, s >> x.rep);
   x.normalize();
   return s;
}

ostream& operator<<(ostream& s, const ZZ_pX& a)
{
   return s << a.rep;
}

, затем я написал этот код для экспорта:

    ZZ_pX phi;
    ofstream myfile;
    myfile.open ("phi.txt");
    myfile <<  phi;
    myfile.close();

и для импорта, который я пыталсясделать что-то вроде этого:

   ZZ_pX phi;
   std::ifstream dataFile("phi.txt");
   while (!dataFile.fail() && !dataFile.eof() )
   {
       dataFile >> phi ;
       cout << phi;
   }

Экспорт работает, но не импорт, ошибка:

ZZ_p constructor called while modulus undefined
Aborted (core dumped)

Извините, если это очень просто, так как я довольно новичок в C ++

...