我正在用 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>
,这不是我所期望的。对我来说,函数的名称不应该依赖于作为模板的类。经典函数的行为方式符合我的预期(两种情况下名称相同)。
我错过了什么吗?这是正常行为还是错误?