编译器错误 C2589

“标识符”:“::”右边的非法标记

如果范围解析运算符(双冒号)左侧显示类、结构或联合名称,则右侧的标记必须是类、结构或联合成员。 否则,任何全局标识符都可以显示在右侧。

无法重载范围解析运算符。

以下示例生成 C2589:

// C2589.cpp
void Test(){}
class A {};
void operator :: ();   // C2589

int main() {
   ::Test();
}