Re[3]: Тестовое задание C++ win
От: KhConstantine Россия  
Дата: 02.05.10 17:42
Оценка:
Здравствуйте, Коваленко Дмитрий, Вы писали:

КД>К примеру — в последнее время мой IE8 стал слишком часто говорить "pure virtual что-то там call"

Очень интересно... Потому что именно MSVC вроде бы матерится на это на этапе ЛИНКОВКИ, а не рантайма...
Мне тоже на одном из собеседований утверждали, что маты идут на этапе рантайма, причем с именно MS.
Интересно было бы пример посмотреть — в реальной жизни я с таким не встречался.
А вот в архиве, на который я сделал ссылку,этот кусочек — как раз на линковке валится:

stlfuns_main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall AGFuncCaller::dump(void)" (?dump@AGFuncCaller@@UAEXXZ)
D:\experiments\stlfuns\Debug\stlfuns.exe : fatal error LNK1120: 1 unresolved externals

// базовый для всех объектов, работающих с G
// в том числе и для тех, которым данные из буфера нужны
class AGFuncCaller
{    
........        
            
        AGFuncCaller(SomeSubSystem &oSomeSubSystem)
        {
            //dump(); // uncomment it to see the LINKER (not real-time) problem of calling 
                    //abstract virtual function
            gBufferSize     = 0;                    
            _oSomeSubSystem = &oSomeSubSystem;
            getSubSystem()->log("1. Constructor AGFuncCaller said:");
            someVirtualFunc();
            getSubSystem()->log("1. Constructor AGFuncCaller finishing");
        };

......        
        virtual void dump()=0;
......
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.