https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89537
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Marek Polacek from comment #5) > 89537.C:9:18: error: invalid use of non-static member function ‘void B< > <template-parameter-1-1>, <template-parameter-1-2>, > <template-parameter-1-3>, <template-parameter-1-4> >::keys() [with _Tp = > int; <template-parameter-1-2> = int; <template-parameter-1-3> = A<int>; > <template-parameter-1-4> = A<int>]’ > 9 | : keys(p1->keys), values(p1->values) {} > | ~~~~^~~~ > 89537.C:28:8: note: declared here > 28 | void keys(); > | ^~~~ Much better!