C++ Clang AST Visitor在访问变量声明时返回错误的数据类型

C++ Clang AST Visitor在访问变量声明时返回错误的数据类型,c++,abstract-syntax-tree,llvm-clang,C++,Abstract Syntax Tree,Llvm Clang,您好,我已经使用clang实现了一个AST访问者。它可以在声明变量时正确地检测,但有时它会返回错误的变量类型。例如,如果一个变量被声明为size\u t或char32\u t甚至george,那么它将返回int类型。 我的代码在这里: virtual bool VisitVarDecl(VarDecl *var) { numVariables++; string varName = var->getQualifiedNameAsString(); string v

您好,我已经使用clang实现了一个AST访问者。它可以在声明变量时正确地检测,但有时它会返回错误的变量类型。例如,如果一个变量被声明为size\u t或char32\u t甚至george,那么它将返回int类型。 我的代码在这里:

virtual bool VisitVarDecl(VarDecl *var) 
{
    numVariables++;
    string varName = var->getQualifiedNameAsString();
    string varType = var->getType().getAsString();
    cout << "VisitVarDecl: " << varName << " of type " << varType << "\n";        
    APIs << varType << ", ";
    return true;
}
virtualbool VisitVarDecl(VarDecl*var)
{
numVariables++;
字符串varName=var->getQualifiedNameAsString();
字符串varType=var->getType().getAsString();

如果我包含相应的头文件,它将返回所有正确的内容。我希望通过语法获得正确的变量类型,因为人们会理解,声明horse x将是horse类型的变量x,而不知道horse类型。如果我包含相应的头文件,它将返回所有内容我希望通过语法得到正确的变量类型,因为人们会理解,声明horse x将是horse类型的变量x,而不知道horse类型。