2013-05-04 34 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文檔很差。