3

我正在用 C++ 编写一个带有libtooling的小软件,将 C++ 头文件转换为 C++ 骨架文件。

它适用于非模板类,但我遇到了模板类的问题,尤其是模板类的构造函数或析构函数。

CXXMethodDecl::getNameAsString用来获取函数的名称。对于像这样的非模板类

  struct C
  {
    C();
    ~C();   
    //other stuff
  }

前一个函数给了我(如我所料)C~C.

但如果类是如下模板:

  template <class TT,int N> 
  struct C
  {
    C();
    ~C();
   }

我得到了结果:C<TT, N>~C<TT, N>,这不是我所期望的。对我来说,函数的名称不应该依赖于作为模板的类。经典函数的行为方式符合我的预期(两种情况下名称相同)。

我错过了什么吗?这是正常行为还是错误?

4

0 回答 0