Поделиться через


Ошибка компилятора C2589

"идентификатор" : незаконный маркер справа от "::"

Замечания

Если имя класса, структуры или объединения отображается слева от оператора разрешения области (двойные двоеточия), маркер справа должен быть классом, структурой или членом объединения. В противном случае любой глобальный идентификатор может отображаться справа.

Оператор разрешения области не может быть перегружен.

Пример

В следующем примере создается C2589:

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

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