Я компилировал С++-программу в Cygwin, используя g++, и у меня был класс, у конструктора которого нет аргументов. У меня были строки:
MyClass myObj();
myObj.function1();
И при попытке скомпилировать его я получил сообщение:
error: запрос для члена 'function1' в 'myObj', который относится к классу non-class 'MyClass()()'
После небольшого исследования я обнаружил, что исправить было изменение этой первой строки на MyClass myObj;
Я мог бы поклясться, что раньше я делал пустые объявления конструкторов с круглыми скобками на С++. Возможно, это ограничение компилятора, который я использую, или действительно говорит о стандарте языка, не используйте круглые скобки для конструктора без аргументов?