Компилятор armcc 4.1.0.481, но похоже дело не в нём. Значит так, имеем такой класс:
Код
void WriteEnable(bool f); // некая внешняя функция
class EnableWritableMode
{
public:
EnableWritableMode()
{
WriteEnable(true);
}
~EnableWritableMode()
{
WriteEnable(false);
}
};
Далее используем его:
Код
void bar::foo()
{
EnableWritableMode enter;
WriteData(...);
}
Всё работает правильно, но если объект enter создать как:
EnableWritableMode enter
();
То, он просто игнорируется - ни конструктор, ни деструктор не вызываются. Проверял iar'овским компилятором - точно также себя ведёт. Собственно вопрос: где об этом написано?
ps: настройки проектов в обоих случаях max speed.
Сообщение отредактировал baralgin - Sep 27 2010, 11:54