c++编译错误消息中__tpdsc__的含义
What __tpdsc__ means in the C++ compilation error messages?
__tpdsc__
在c++编译错误消息中是什么意思?例如:
[ilink32 Error] Error: Unresolved external '__tpdsc__ ELicense' referenced from LICENSE.OBJ
我使用CLANG作为c++编译器。
我问的是tpdsc是什么意思,而不是"未解决的外部"是什么意思,因为它很清楚。tpdsc是编译器添加的,我想知道它是什么意思。
我的代码是: class PACKAGE ELicense: public Exception
{
public:
ELicense(int code);
virtual __fastcall ~ELicense();
private:
int Code;
String CodeToMessage(int code);
};
在源代码中没有使用tpdsc字,但是CLANG在ELicense
类名之前显示tpdsc。我想弄明白这是什么意思。然后,我希望了解编译器在抱怨什么,因为错误消息只显示类名,而不是函数名。此外,我已经仔细检查了所有函数在cpp文件中是否正确实现。
__tpdsc__
似乎指的是类的析构函数。如果您正在使用默认析构函数或在头文件中实现析构函数,则可以通过在cpp文件中实现有问题的析构函数来消除此错误。
既然你已经实现了析构函数,问题可能是它是virtual
和__fastcall
,但我不知道哪一个是正确的在你的情况下