Поскольку вы только что объявили функцию mClass2
с нулевым аргументом, которая возвращает CMyClass
. Это допустимая опция, так как, например, может быть экземпляр static CMyClass
, к которому эта функция имеет доступ. Обратите внимание, что CMyClass
все еще имеет открытый конструктор копирования.
(Чтобы убедить себя, скомпилируйте этот модуль для ассемблера и обратите внимание, что комментирование строки CMyClass mClass2();
производит тот же вывод.)