Список статей в категории Ошибки

dynamic_cast ошибка C2683: is not a polymorphic type

Если при использовании dynamic_cast вы ловили ошибку компиляции C2683, то вам необходимо просто добавить к классу виртуальную функцию или деструктор.

class Base1{};
class Base2
{
virtual ~Base2() {;}
};
class A : public Base1{};
class B : public Base2{};
Base1* pBase1 = new Base1();
Base2* pBase2 = new Base2();
A* pA = dynamic_cast(pBase1); // error C2683: 'dynamic_cast'
// : 'Base1' is not a polymorphic type
B* pB = dynamic_cast(pBase2); // OK

Теги: C++ Ошибки

wglMakeCurrent и ERROR_INVALID_HANDEL

Если при вызове wglMakeCurrent у GetLastError выдаёт ошибку ERROR_INVALID_HANDEL (6). И ваш OpenGL контекст точно валидный, то причина может быть в окне, к которому привязан контекст. Возможно поток, в котором он был создан, был завершён. В этой ситуации при любой манипуляции с контекстом могут быть повисания или креши.

Теги: Ошибки Отладка

Windows 7 игнорирует настройки в файле hosts

Windows 7 игнорировал настройки в C:\Windows\System32\drivers\etc\hosts. Ping не проходил, сайты на виртуальных хостах не работали. Я перепробовал всё, наиболее полный список того, что я побывал представлен тут http://serverfault.com/questions/452268/hosts-file-ignored-how-to-troubleshoot/630999#630999

Но это всё мне не помогло. Оказалось Windows создал файл C:\Windows\System32\drivers\etc\hosts.ics и брал настройки из него. Видимо мой ПК находился в домашней сети и это файл был создан для неё.

Теги: Ошибки Web

VMware и OpenGL

VMware 10 имеет настройку 3D acceleration. При её включении виртуальная машина начинает поддерживать OpenGL, но по опыту отладки эта поддержка частичная и часто приводит к артефактам или крешам.

Теги: Ошибки OpenGL

Не могу скомпилировать код с __try...__except?

Не могу скомпилировать код с __try...__except?

При компиляции кода в Visual Studio с __try...__except возникает ошибка: "error C2712: cannot use __try in functions that require object unwinding". Решить данную проблему можно разными путями:

  • Вынести код в отдельную функцию без параметров.
  • Сделать так, чтобы внутри блока не использовались переменные или параметры без деструкторов.
  • Использовать параметр компиляции /GX-.

Обычно код выносится в отдульную функцию, которая при выходе не вызыва

Теги: C++ Ошибки

Система отчётов о крешах

CrashRpt - бесплатная библиотеку для отлавливание креш репортев для Windows. Библиотека умеет создавать отчёты, отправлять по почте или через web, собирать mini dump.

CrashRpt

Теги: C++ Ошибки