Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 26.03.2017
Сообщений: 50
1

Выдает ошибку

30.04.2017, 18:46. Показов 365. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ошибка номер 1:error: no matching function for call to ‘zoo::zoo()’
Ошибка номер 2:
Когда я убираю zoo(char animal_d,int pol_d,int price_d,int amount_d )
{


setdate(animal_d,pol_d,price_d,amount_d);


} и obj.getdate(animal_o,pol_o,price_o,amount_o); все работает,но после первого ввода срабатывает деструктор и прога закрывается
ПыСы: если можно,то без особой критики,это моя первая прога на столько строчек кода


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
  #include <iostream>
          using namespace std;
 
 
class zoo
{
    private:
      char animal;
      int pol;
      int price;
      int amount;
     
      
     
      
      public:
      zoo(char animal_d,int pol_d,int price_d,int amount_d  )
      {
          
          
          setdate(animal_d,pol_d,price_d,amount_d);
          
          
    }   
     
   void setdate(char animal_d,int pol_d,int price_d,int amount_d )
   {
       
      cin>>animal_d;
      cin>>pol_d;
      cin>>price_d;
      cin>>amount_d;
      animal=animal_d;
    pol=pol_d;
    price=price_d;
    amount=amount_d;
    
}   
 void getdate()  
 {
     cout<<animal<<" "<<pol<<" "<<price<<"  "<<amount<<endl;
     
 }  
 ~zoo()
 {
    cout<<"Здесь сработал деструктор"<<endl; 
 }
 
 
};
     int main()
     {
         char animal_o;
         int pol_o;
         
         int price_o;
         
         int amount_o;
         
        
         zoo obj;
         
         obj.setdate(animal_o,pol_o,price_o,amount_o);
         obj.getdate(animal_o,pol_o,price_o,amount_o);
         
         return 0;
     }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2017, 18:46
Ответы с готовыми решениями:

При решении программа выдаёт значение функции, равное 0 или выдаёт ошибку. Что не так?
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; long Fact(short...

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int chisla(int...

Найти ошибку в программе: в visual studio выдает ошибку
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() ...

Ребят Незнаю что делать при запуске на компилирование выдает ошибку.Кто понимает что не так скажите а если не затруднит исправьте ошибку
Разговаривал с двумя преподами говорят что проект не правильно создавал,хотя все правильно из...

8
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
30.04.2017, 19:16 2
Цитата Сообщение от MaxFilippov Посмотреть сообщение
и прога закрывается
Распространенные ошибки
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
30.04.2017, 19:17 3
Цитата Сообщение от MaxFilippov Посмотреть сообщение
Ошибка номер 1:error: no matching function for call to ‘zoo::zoo()’
Если в классе есть хотя бы один конструктор с параметрами, то конструктор без параметров не генерируется и мы должны написать его самостоятельно. Например так:
C++
1
zoo::zoo() { }
Цитата Сообщение от MaxFilippov Посмотреть сообщение
все работает,но после первого ввода срабатывает деструктор и прога закрывается
А что ей ещё делать? Всё что можно программа уже выполнила, осталось только благополучно завершиться, вызвав предварительно все деструткоры.
0
1 / 1 / 0
Регистрация: 26.03.2017
Сообщений: 50
30.04.2017, 19:19  [ТС] 4
Я имел в виду что после ввода animal_d прога закрывается
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
30.04.2017, 19:22 5
Цитата Сообщение от MaxFilippov Посмотреть сообщение
после ввода animal_d прога закрывается
Вероятно вы вводите целую строку, хотя тип animal_d - char, то есть один символ. Если нужна строка, используйте тип std::string.
1
1 / 1 / 0
Регистрация: 26.03.2017
Сообщений: 50
30.04.2017, 19:24  [ТС] 6
Спасибо,все заработало!
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
30.04.2017, 19:25 7
Вообще, ввод данных в метода setdata (у вас кстати слово data написано с ошибкой) - не самая хорошая идея. Лучше вводить данные в функции main, а затем передавать их в метод setdata.
0
21 / 21 / 10
Регистрация: 11.09.2015
Сообщений: 103
30.04.2017, 19:27 8
MaxFilippov, Возможны варианты.
1) У тебя есть мозги, и ты хочешь программировать на Си. -- Читай литературу по специальности.
2) У тебя есть мозги, но ты больше заработаешь, не программируя. -- Обратись к подёнщику.
3) Даже не знаю, что тебе посоветовать. Могу только сказать, чтобы тебя заинтриговать. Объявление любого неумолчательного конструктора в классе отменяет создание компилятором конструктора по умолчанию.
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
30.04.2017, 19:27 9
Цитата Сообщение от MaxFilippov Посмотреть сообщение
Я имел в виду что после ввода animal_d прога закрывается
Так бы и писал: что вводы, после ввода animal_d, пропускаются (если об этом речь).
0
30.04.2017, 19:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2017, 19:27
Помогаю со студенческими работами здесь

Выдает ошибку
Ошибка на строчке с scanf! #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;iostream&gt;...

Выдает ошибку
Есть алгоритм для бинарного поиска: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std;...

выдает ошибку(
#include &lt;vcl.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #pragma hdrstop ...

Выдаёт ошибку
Данный код работает - считывает кс-грамматику из файла, если файл input.txt содержит S aAB E A aA...

выдает ошибку
сравнить 3 параллелограмма в чем ошибка # include &lt;iostream&gt; # include &lt;string&gt; using namespace...

Выдает ошибку
Пишет,что не указал sum_t #include &lt;iostream&gt; using namespace std; class fraction {


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru