как объявление прототипа функции, а не как объявление переменной и вызов конструктора - поэтому вы не видите выходных данных.

struct my
{
   my(){ std::cout<<"Default";}
   my(const my& m){ std::cout<<"Copy";}
   ~my(){ std::cout<<"Destructor";}
};

int main()
{
   my m(); //1
   my n(my()); //2
}

емый результат:

1 ) Default
2 ) Copy

Фактический вывод:

Что не так с моим пониманием механизма вызова конструктора?

Note Я опустил заголовочные файлы для краткости.

Ответы на вопрос(2)

Ваш ответ на вопрос