Здравствуйте, rg45, Вы писали:
R>Здравствуйте, Кнопка, Вы писали:
Z>>>К>>>>int main()
К>>>>{
К>>>> A a();
К>>>>}
Z>>>
К>>>>Почему не вызывается конструктор?
Z>>>потому что это объвление функции "a" не принимающией параметров и возвращающей экземпляр класс A
К>>Оммм...?
К>>A a(5); эт тоже визов функции, да?)
R>А вот это уже конструирование объекта. В отличие от исходной, последняя конструкция не может трактоваться как-то иначе. Конструкция, приведенная тобой вначале может трактоваться двояко: либо как определение и инициализация объекта, либо как объявление функции. Стандарт языка предписывает разрешать эту неоднозначность в пользу второго варианта, т.е. объявления функции.
Сори, не дочиталась в стандарте...