请求成员'operator()'含糊不清......真的吗?

sky*_*ack 5 c++ gcc clang

考虑以下最小的例子:

struct T { void operator()() { } };
struct S { void operator()(int) { } };

struct U: T, S {
    U(): T{}, S{} { }
    //using T::operator();
    //using S::operator();
};

int main() {
    U u;
    u(42);
}
Run Code Online (Sandbox Code Playgroud)

它与clang 3.8一样编译.
无论如何,它无法使用GCC 6.1编译并出现错误:

12:错误:成员'operator()'的请求不明确

请注意,如果取消注释指令,GCC 6.1可以正常工作using.
据我所知,没有理由出现这样的错误,似乎clang是按预期工作的那个.

在打开虫子之前,我不知道是谁,我想问一下我是否遗漏了一些东西.
换句话说,在这种情况下给出错误是正确的行为,或者它本身就是一个错误?