我正在使用libtooling在C ++中编写一个小软件,将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>
,这不是我所期待的。
对我来说,函数的名称不应该依赖于作为模板的类。经典函数的行为与我期望的一样(在两种情况下都是相同的名称)。
我错过了什么吗?这是正常行为还是错误?