Uzhast писал(а) 22. Марта 2007 :: 02:28:kms писал(а) 21. Марта 2007 :: 22:37:Зачем это так сделано - военная тайна.
Зачем я это сюда написал - не знаю, не спрашивайте
Причем почти в каждом компиляторе своя военная тайна
Вот, кстати, товарищ написал статью, а теперь ее
злобно ругают, а процессе ругани появляются еще разные любопытные подробности
Статья по мне не очень, обсуждение забавное
Реализация компиляторо-зависима, это конечно, но неожиданно именно то, что вроде бы общий закон построения для перегруженных функций делает исключение и ставит все с ног на голову
orefkov писал(а) 22. Марта 2007 :: 07:08:нет, в MSVC6 вообще как порядок назначается, непонятно.
Сколько с CBLContext::Init маялся, и так, и этак переставлял, все равно не тот
метод из 1С вызывается
точно! как раз хотел переставить местами (на самом деле в VTBL порядок обратный)
virtual void InitObject(char const *); //2722
virtual void InitObject(class CType const &); //2721
так ведь нет, пришлось разбираться.
интересно, что не только MSVC6, но и интел 9.1 строит VTBL абсолютно так же при наличии перегруженных методов.
какой-то видать тайный сговор.