2013-05-04 50 views
0

感谢您寻找关于创建NTL类类型

我试图创建一个类

long lPrime,lGenerator; 
    lPrime = atol(vOut[1].c_str()); 
ZZ alicePrime; 
    alicePrime = new ZZ(99999,lPrime); 

我不知道该怎么做INIT_VAL_TYPE要求我输入。

我得到这个错误:

UDPEchoClient.cpp:85:34: error: no matching function for call to ‘NTL::ZZ::ZZ(int, long int&)’ 
UDPEchoClient.cpp:85:34: note: candidates are: 
/sw/include/NTL/ZZ.h:113:1: note: NTL::ZZ::ZZ(NTL::ZZ&, NTL::INIT_TRANS_TYPE) 
/sw/include/NTL/ZZ.h:113:1: note: no known conversion for argument 1 from ‘int’ to ‘NTL::ZZ&’ 
/sw/include/NTL/ZZ.h:176:8: note: NTL::ZZ::ZZ(NTL::INIT_VAL_TYPE, double) 
/sw/include/NTL/ZZ.h:176:8: note: no known conversion for argument 1 from ‘int’ to ‘NTL::INIT_VAL_TYPE {aka const NTL::INIT_VAL_STRUCT&}’ 
/sw/include/NTL/ZZ.h:180:8: note: NTL::ZZ::ZZ(NTL::INIT_VAL_TYPE, float) 
/sw/include/NTL/ZZ.h:180:8: note: no known conversion for argument 1 from ‘int’ to ‘NTL::INIT_VAL_TYPE {aka const NTL::INIT_VAL_STRUCT&}’ 
/sw/include/NTL/ZZ.h:172:8: note: NTL::ZZ::ZZ(NTL::INIT_VAL_TYPE, const char*) 
/sw/include/NTL/ZZ.h:172:8: note: no known conversion for argument 1 from ‘int’ to ‘NTL::INIT_VAL_TYPE {aka const NTL::INIT_VAL_STRUCT&}’ 
/sw/include/NTL/ZZ.h:61:1: note: NTL::ZZ::ZZ(NTL::INIT_VAL_TYPE, unsigned int) 
/sw/include/NTL/ZZ.h:61:1: note: no known conversion for argument 1 from ‘int’ to ‘NTL::INIT_VAL_TYPE {aka const NTL::INIT_VAL_STRUCT&}’ 
/sw/include/NTL/ZZ.h:60:1: note: NTL::ZZ::ZZ(NTL::INIT_VAL_TYPE, long unsigned int) 
/sw/include/NTL/ZZ.h:60:1: note: no known conversion for argument 1 from ‘int’ to ‘NTL::INIT_VAL_TYPE {aka const NTL::INIT_VAL_STRUCT&}’ 
/sw/include/NTL/ZZ.h:58:1: note: NTL::ZZ::ZZ(NTL::INIT_VAL_TYPE, int) 
/sw/include/NTL/ZZ.h:58:1: note: no known conversion for argument 1 from ‘int’ to ‘NTL::INIT_VAL_TYPE {aka const NTL::INIT_VAL_STRUCT&}’ 
/sw/include/NTL/ZZ.h:57:1: note: NTL::ZZ::ZZ(NTL::INIT_VAL_TYPE, long int) 
/sw/include/NTL/ZZ.h:57:1: note: no known conversion for argument 1 from ‘int’ to ‘NTL::INIT_VAL_TYPE {aka const NTL::INIT_VAL_STRUCT&}’ 
/sw/include/NTL/ZZ.h:49:1: note: NTL::ZZ::ZZ(const NTL::ZZ&) 
/sw/include/NTL/ZZ.h:49:1: note: candidate expects 1 argument, 2 provided 
/sw/include/NTL/ZZ.h:37:1: note: NTL::ZZ::ZZ(NTL::INIT_SIZE_TYPE, long int) 
/sw/include/NTL/ZZ.h:37:1: note: no known conversion for argument 1 from ‘int’ to ‘NTL::INIT_SIZE_TYPE {aka const NTL::INIT_SIZE_STRUCT&}’ 
/sw/include/NTL/ZZ.h:33:1: note: NTL::ZZ::ZZ() 
/sw/include/NTL/ZZ.h:33:1: note: candidate expects 0 arguments, 2 provided 

回答

0

首先new是错误的。你没有分配一个对象,你正在构造一个对象。

其次,假设我读头文件的权利,并假设我明白你正在尝试做的,你只是想

ZZ alicePrime(INIT_VAL, lPrime); 

INTI_VAL仅仅是强制编译选择构造一个常数这给出了alicePrime的初始值,而不是初始位大小。

NTL文档很差。