c++编译错误消息中__tpdsc__的含义

What __tpdsc__ means in the C++ compilation error messages?

本文关键字:tpdsc 编译 错误 消息 c++      更新时间:2023-10-16

__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,但我不知道哪一个是正确的在你的情况下