求助!error LNK2019: 无法解析的外部符号 "public: __thiscall

本文介绍了一个关于C++编译时出现的链接错误LNK2019与LNK2001的问题,主要涉及到CDataConvertEngine类的实例化及成员函数未被正确链接的情况。作者已经确认所有声明的函数都有实现,但仍然遇到了这些链接错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输出信息如下

1>main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CDataConvertEngine<double>::CDataConvertEngine<double>(enum DataUnit)" (??0?$CDataConvertEngine@N@@QAE@W4DataUnit@@@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual char const * __thiscall CDataConvertEngine<double>::toString(void)" (?toString@?$CDataConvertEngine@N@@UAEPBDXZ)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::toDouble(void)" (?toDouble@?$CDataConvertEngine@N@@UAENXZ)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall CDataConvertEngine<double>::toInt(void)" (?toInt@?$CDataConvertEngine@N@@UAEHXZ)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_pm(double)" (?to_pm@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_nm(double)" (?to_nm@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_um(double)" (?to_um@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_mm(double)" (?to_mm@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_cm(double)" (?to_cm@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_dm(double)" (?to_dm@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_m(double)" (?to_m@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_km(double)" (?to_km@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_deg(double)" (?to_deg@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_mdeg(double)" (?to_mdeg@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_rad(double)" (?to_rad@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_pls(double)" (?to_pls@?$CDataConvertEngine@N@@UAENN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_mps(double,double)" (?to_mps@?$CDataConvertEngine@N@@UAENNN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_mmps(double,double)" (?to_mmps@?$CDataConvertEngine@N@@UAENNN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_mmpm(double,double)" (?to_mmpm@?$CDataConvertEngine@N@@UAENNN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_rpm(double,double)" (?to_rpm@?$CDataConvertEngine@N@@UAENNN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_radps(double,double)" (?to_radps@?$CDataConvertEngine@N@@UAENNN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_radpm(double,double)" (?to_radpm@?$CDataConvertEngine@N@@UAENNN@Z)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual double __thiscall CDataConvertEngine<double>::to_pltpt(double,double)" (?to_pltpt@?$CDataConvertEngine@N@@UAENNN@Z)
我已经检查过了,源代码中,类声明的函数都已经实现了,但是在main函数生测试的时候却出现了这个问题,这是什么情况,求各位大佬解答


评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值