Não há parênteses em um construtor sem argumentos, um padrão de linguagem?

Eu estava compilando um programa C ++ no Cygwin usando g ++ e eu tinha uma classe cujo construtor não tinha argumentos. Eu tinha as falas:

MyClass myObj();
myObj.function1();

E ao tentar compilar, recebi a mensagem:

error: request for member 'function1' in 'myObj', which is of non-class type 'MyClass ()()'

Depois de um pouco de pesquisa, descobri que a solução era mudar a primeira linha para

MyClass myObj;

Eu poderia jurar que fiz declarações de construtor vazias com parênteses em C ++ antes. Isso provavelmente é uma limitação do compilador que estou usando ou o padrão da linguagem realmente diz que não use parênteses para um construtor sem argumentos?

questionAnswers(8)

yourAnswerToTheQuestion