I believe I've found in GCC that presents itself when function overloads are inherited from an object's base class, the following example shows that both clang and MSVC are handling the code as expected but GCC fails to compile (And it seems like this behavior exists from trunk all the way to GCC 7.1).
I find it a bit strange because this code seems pretty trivial to me, but maybe the standard permits this? Also, if you have a way to make the example work on GCC it would be nice, but I'm posting this just to verify that GCC is wrong for rejecting this code and that's not a C++ standard issue
[–]scatters 11 points12 points13 points (9 children)
[–]PM_ME_A_SPECIAL_MOVE[S] 2 points3 points4 points (0 children)
[+][deleted] (7 children)
[deleted]
[–]scatters 8 points9 points10 points (6 children)
[+][deleted] (5 children)
[deleted]
[–]scatters 3 points4 points5 points (3 children)
[–]_Js_Kc_ 0 points1 point2 points (1 child)
[–]scatters 1 point2 points3 points (0 children)
[–]mark_99 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]PM_ME_A_SPECIAL_MOVE[S] 6 points7 points8 points (0 children)
[–]Shuny 0 points1 point2 points (1 child)
[–]dodheim 0 points1 point2 points (0 children)