c++ 运算符重载:ZZ_pX向量的 NTL 库导出/导入

c++ operator overloading: NTL library export/import of a ZZ_pX vector

提问人:azicko 提问时间:10/27/2019 最后编辑:azicko 更新时间:10/27/2019 访问量:173

问:

我正在尝试从类型 ZZ_pX 导出和导入 NTL 向量。阅读源代码后,我发现了这个有趣的运算符函数:

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++ 很陌生

C++ 运算符重载 IOSTREAM NTL

评论

0赞 n. m. could be an AI 10/27/2019
这与操作员过载无关。您需要阅读您正在使用的软件的文档并了解其工作原理。控制问题:in 代表什么?pZZ_pX
0赞 azicko 10/27/2019
类ZZ_pX实现多项式算术模 p。
0赞 n. m. could be an AI 10/27/2019
对,什么是p?
0赞 azicko 10/29/2019
在这种情况下,p 是单精度素数
0赞 n. m. could be an AI 10/29/2019
是的。哪个素数?2?13?101?

答: 暂无答案