我试图在clang上编译以下代码,但它失败并出现以下错误:
error: no member named 'operator<' in the global namespace
Run Code Online (Sandbox Code Playgroud)
我尝试使用/ Za编译visual studio代码以切换到标准一致性,但它似乎仍然接受它.请赐教.
struct A
{
int m_test;
A(int test)
: m_test(test)
{
}
friend bool operator<(A left, A right);
};
int main()
{
typedef bool(*TCompare)(A,A);
TCompare compare = &::operator<;
compare(9,7);
}
Run Code Online (Sandbox Code Playgroud)
VC++输出:https://godbolt.org/g/LAz56n
Clang输出:https://godbolt.org/g/zC2InO