нет соответствующего конструктора по умолчанию, доступного в vc++

У меня есть метод Close() в классе с именем X. Я хочу использовать эту функцию в каком-то другом классе с именем Y. Я создал объект для класса A и вызываю там эту функцию Close(). В то время я получаю сообщение об ошибке «Нет подходящего конструктора по умолчанию».

Я создал это так..

X x;  x.Close();

Как я могу это решить?


person Prabhu Harin    schedule 10.12.2014    source источник
comment
Отправьте код, пожалуйста   -  person Anton Savin    schedule 10.12.2014
comment
Сообщение об ошибке говорит само за себя. У класса нет конструктора по умолчанию, и вы пытаетесь его использовать. Либо напишите один, либо используйте конструктор с параметрами.   -  person Borgleader    schedule 10.12.2014
comment
Я не понимаю, как class A здесь уместно. Не могли бы вы уточнить, пожалуйста?   -  person Bathsheba    schedule 10.12.2014
comment
@Borgleader Ошибка не требует пояснений, только если вы понимаете, что такое конструктор по умолчанию и почему он должен быть доступен. Если бы они поняли ошибку, они бы не задавали вопрос.   -  person Joseph Mansfield    schedule 10.12.2014
comment
возможный дубликат C++ - Нет подходящего конструктора по умолчанию   -  person Borgleader    schedule 10.12.2014
comment
упс... вместо класса X я сказал A.. код выглядит так, будто x является объектом для класса X.. X x; х.закрыть();   -  person Prabhu Harin    schedule 10.12.2014
comment
Почему вы создаете объект только для того, чтобы вызвать его функцию close? Похоже, close должна быть бесплатной функцией.   -  person molbdnilo    schedule 10.12.2014


Ответы (1)


Либо класс X не имеет приемлемого конструктора по умолчанию, либо какой-то тип, используемый в методе Close класса X, не имеет конструктора по умолчанию.:) Либо вы должны определить конструктор по умолчанию, либо использовать конструктор с параметрами, определенными для класса.

У меня есть метод Close() в классе X. ... Я создал объект для класса A и вызываю его Close()

Также нужно расставить по порядку, что такое класс X и что такое класс A. :)

person Vlad from Moscow    schedule 10.12.2014
comment
Как я могу решить эту проблему? Вы не отвечаете на вопрос, вы просто повторяете то, что было сказано в сообщении об ошибке. - person Borgleader; 10.12.2014
comment
Не совсем. Например, конструктор по умолчанию может быть закрытым, а Y не является другом X. - person Bathsheba; 10.12.2014
comment
Интересно, я не получал отрицательных голосов за свои ответы более 2 месяцев. Я высказываюсь против твоего, и БАМ, я получаю два отрицательных голоса в течение нескольких минут. Какое странное совпадение. - person Borgleader; 10.12.2014
comment
@Borgleader Смотрите мой комментарий к вашему сообщению, за которое проголосовали против. - person Vlad from Moscow; 10.12.2014