mercredi 17 octobre 2018

pass a member function as argument in libclang visitor

I am using LibClang to traverse AST in a C program as below:

CXChildVisitResult visitor(CXCursor cursor, CXCursor parent, CXClientData data) {
  // some code
}

int main() {
  // some code
  clang_visitChildren(rootCursor, visitor, 0);
}

I do not know how to pass visitor to clang_visitChildren() if visitor() is a member of a class. I tried using ClassName::visitor instead of visitor, but I get the following compiler error:

error: invalid use of non-static member function ‘CXChildVisitResult ClassName::visitor(CXCursor, CXCursor, CXClientData)’

Aucun commentaire:

Enregistrer un commentaire