Нет;конструкторы не имеют имени .Вы не можете взять адрес конструктора или передать указатель на функцию, или просто вызвать как обычную функцию.Синтаксис A::A()
- это просто специальный синтаксис объявления, который позволяет вам объявлять и определять конструкторы, но это не имя .
Тем не менее, вы не можете печатать по умолчанию объекты (включая указатели на функции) в любом случае, только типы .
Чтобы прокомментировать поведение MSVC, я цитирую 12.1 / 3:
A typedef-name не должно использоваться [...] для объявления конструктора.