В классе A есть конструктор по умолчанию и конструктор с 1 параметром.
При таком A x(); и таком A x; объявлениях объекта класса A выполняются разные действия. Почему?
Ответ
A x(); - это объявление функции x которая возвращает результат с типом A
В Си и С++ функции можно объявлять в т.ч. и внутри функций, например
int main() {
int f(); // объявили функцию, которая будет определена ниже.
return f();
}
int f() { return 0; }
Чтобы объявить переменную, используйте фигурные скобки:
A x{};
Или просто используйте A x;
Комментариев нет:
Отправить комментарий