【问题标题】:Regarding create a NTL class type关于创建 NTL 类类型
【发布时间】:2013-05-04 18:12:41
【问题描述】:

感谢观看

我正在尝试创建一个类

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

【问题讨论】:

    标签: c++


    【解决方案1】:

    首先new 是错误的。您不是在分配对象,而是在构造对象。

    其次,假设我正在正确阅读头文件,并且假设我理解你想要做什么,你只是想要

    ZZ alicePrime(INIT_VAL, lPrime);
    

    INTI_VAL 只是一个常量,它强制编译器选择为alicePrime 提供初始值的构造函数,而不是初始位大小。

    NTL 文档很差。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-10
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多