[petsc-users] pass a member function to MatShellSetOperation

Michael Wick michael.wick.1980 at gmail.com
Thu Sep 30 04:55:50 CDT 2021


Hi:

I want to have the shell matrix-vector multiplication written as a class
member function and pass it to the shell matrix via MatShellSetOperation.

MatShellSetOperation(A, MATOP_MULT, (void
(*)(void))(&Global_Assem::MyMatMult));

Perhaps I have a wrong understanding of function pointers, and I am
constantly getting warnings that say I cannot convert a member function to
a void type. The warning indeed makes sense to me, as the function pointer
passed in the above manner is independent of an instance. Perhaps there are
other ways of passing a member function that I don't know of. If you know
how to address this, I would appreciate it a lot!

Thanks,

Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20210930/b0912b9c/attachment.html>


More information about the petsc-users mailing list