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?