我正在使用 NTL C++ 库。在尝试执行以下代码时:
NTL::ref_GF2 *zero = new NTL::ref_GF2();
NTL::ref_GF2 *one = new NTL::ref_GF2();
set(*one);
我收到 EXC_BAD_INSTRUCTION 错误:
ref_GF2 operator=(long a)
{
unsigned long rval = a & 1;
unsigned long lval = *_ref_GF2__ptr;
lval = (lval & ~(1UL << _ref_GF2__pos)) | (rval << _ref_GF2__pos);
*_ref_GF2__ptr = lval;
return *this;
}
问题似乎源于 set(*one) 代码行。
我一直试图了解代码中出了什么问题,但无济于事。任何帮助表示赞赏。