У меня тут странная проблема. Предположим, что у меня есть класс с некоторыми виртуальными методами. При определенных обстоятельствах экземпляр этого класса должен вызывать один из этих методов. В большинстве случаев на этом этапе проблем не возникает, но иногда оказывается, что виртуальный метод нельзя вызвать, потому что указатель на этот метод равен NULL (как показано в VS), поэтому возникает исключение нарушения доступа к памяти. Как это могло случиться?
Приложение довольно большое и сложное, поэтому я действительно не знаю, какие низкоуровневые шаги приводят к этой ситуации. Публикация необработанного кода не будет полезной.
UPD: Хорошо, я вижу, что моя постановка задачи довольно расплывчата, поэтому схематично код выглядит так
void MyClass::FirstMethod() const { /* Do stuff */ }
void MyClass::SecondMethod() const
{
// This is where exception occurs,
// description of this method during runtime in VS looks like 0x000000
FirstMethod();
}
Никаких конструкторов или деструкторов.