Объявление функции, похожее на создание объекта

1,00
р.
class Test { }
int main(int argc, char* argv[]) { Test t() // Что делает этот оператор
return 0 }

Ответ
Это частный пример явления, известного в С++ под именем "most vexing parse". В ситуациях, когда в объявлении возникает неоднозначность между определением объекта и объявлением функции, эта неоднозначность в С++ разрешается в пользу объявления функции.
В вашем случае имеет место простейший пример именно такой неоднозначности. В соответствии с вышеприведенным правилом, данное объявление трактуется как объявление функции t, не имеющей параметров и возвращающей значение типа Test.
Для определения именно объекта c выполнением value-инициализации можно воспользоваться современным (С++11 и далее) синтаксисом униформной инициализации, который не страдает от этой неоднозначности
Test t{}
Хотя в случае именно вашего (т.е. "пустого") класса Test явный инициализатор не имеет никакого значения вообще и можно просто написать
Test t