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


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

"type" : недопустимый тип выражения для имени

Оператор приведения пытался преобразовать из недопустимого типа. Например, если оператор dynamic_cast используется для преобразования выражения в тип указателя, исходное выражение должно быть указателем.

Следующий пример приводит к возникновению ошибки C2681:

// C2681.cpp
class A { virtual void f(); };

void g(int i) {
    A* pa;
    pa = dynamic_cast<A*>(i);  // C2681
}