IAR 3.10A чего-то туплю

Hi!

Делаю некий класс: class foo { public: void virtual set(S16 value) { v = value; } S16 get(void) { return v; } protected: S16 v; }; Потом делаю от него наследника: class bar : foo { public: void virtual set(S16 value) { v = value/2; } };

Все работает. HО! Если в классе foo объявить функцию get как virtual то код вешается, причем похоже на вызове конструктора класса foo (точно не знаю как выяснить, я просто убрал все экземпляры класса bar). Код вешается и в том случае, если в классе bar перекрыть злосчастную функцию get. Добавление еще одной виртуальной функции типа void в базовый класс не переопределенной в наследнике - все в порядке. Конструкторы тривиальны и поэтому тут не показаны. Что я делаю не так? Можно, конечно, оставить как есть, но есть мысль сделать foo неким универсальным базовым классом, да и вообще! Модель - small, стека возвратов вроде как достаточно (50, а вложенность небольшая).

Денис.

Reply to
invalid unparseable
Loading thread data ...

"Денис Опанасенко" snipped-for-privacy@unknown.nowhere сообщил/сообщила в новостях следующее: news:cpc8fe$fq0$ snipped-for-privacy@freemail.irk.ru...

Прошу прощения, на самом деле версия 3.10С кракнутая, чего-то совсем туплю...

Reply to
invalid unparseable

Привет Денис!

10 Дек 04 21:33, Денис Опанасенко -> All:

ДО> Прошу прощения, на самом деле версия 3.10С кракнутая, чего-то совсем ДО> туплю...

Похоже глюкавый какой-то этот 3.10C. Я уже тут писал, что очень интересные глюки наблюдаются в нем... Hужно что-то постабильнне искать...

Aleksandr

... Смотpеть в зеpкала - лyчший способ сойти с yма

Reply to
Aleksandr Popruga

Доброго здоровья, Денис!

10 Dec 04 21:24, Денис Опанасенко написал для All:

ДО> Делаю некий класс: ДО> class foo ДО> { ДО> public: ДО> void virtual set(S16 value) { v = value; } ДО> S16 get(void) { return v; } ДО> protected: ДО> S16 v; ДО> }; ДО> Потом делаю от него наследника: ДО> class bar : foo ДО> { ДО> public: ДО> void virtual set(S16 value) { v = value/2; } ДО> };

ДО> Все работает. HО! Если в классе foo объявить функцию get как virtual то ДО> код ДО> вешается, причем похоже на вызове конструктора класса foo (точно не знаю ДО> как ДО> выяснить, я просто убрал все экземпляры класса bar). Код вешается и в том ДО> случае, если в классе bar перекрыть злосчастную функцию get. Добавление ДО> еще ДО> одной виртуальной функции типа void в базовый класс не переопределенной в ДО> наследнике - все в порядке. Конструкторы тривиальны и поэтому тут не ДО> показаны. Что я делаю не так? Можно, конечно, оставить как есть, но есть ДО> мысль сделать foo неким универсальным базовым классом, да и вообще! Модель ДО> - ДО> small, стека возвратов вроде как достаточно (50, а вложенность небольшая).

попробуй увеличить размер кучи.

WBR, Сергей. ICQ: 101347299

... Положив в стиральную машину 6 носков, вынимаешь только 5.

Reply to
Sergei Tuchinski

"Aleksandr Popruga" <Aleksandr snipped-for-privacy@p3.f.n4634.z2.fidonet.org>

сообщил/сообщила в новостях следующее: news:MSGID_2=3A4634=2F4.3 snipped-for-privacy@fidonet.org...

глюки

Черт знает, поставил 3.20С ситуация точно такая же, так что однако это не баг, а вот что - непонятно.

Денис.

Reply to
invalid unparseable

"Sergei Tuchinski" <Sergei snipped-for-privacy@f38.n.z2.fidonet.org>

сообщил/сообщила в новостях следующее: news:MSGID_2=3A5025=2F38 snipped-for-privacy@fidonet.org...

то код

знаю как

Пробовал я... С дефолтных 0х20 до 0х80. Эффекта - ноль. Да и new я не использую.

Денис.

Reply to
invalid unparseable

"Денис Опанасенко" snipped-for-privacy@unknown.nowhere сообщил/сообщила в новостях следующее: news:cpc8fe$fq0$ snipped-for-privacy@freemail.irk.ru...

код

как Хех, разобрался. Сам такой. Сделав отладочную выдачу и потратив пять прошивок нашел работу с неиницализированным указателем. Блин! Hо как он работал по этому же указателю, если не объявлять get виртуальной я не пойму.

Денис.

Reply to
invalid unparseable

Здравствуйте.

ДО> глюки

ДО> Черт знает, поставил 3.20С ситуация точно такая же, так что однако это не ДО> баг, а вот что - непонятно.

Откатись на 2.28А. В ней неприятности конечно же тоже случаются, но не так часто.

Reply to
Alexey Krasnov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.