Коллеги, всем привет!
Есть маленький вопрос по части оператора enum в конструкторе
Для начала есть такая маленькая рабочая программка, которая компилируется и работает
1. #include <iostream>
2.using namespace std;
3.int main() {
4. enum Days {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
5. unsigned short int today;
6. cout<<"Enter a day: \n";
7. cin>>today;
8. if (today==Sunday || today == Saturday)
9. cout<<"Gotta' love the weekends!\n";
10. cout<<"Back to work.\n";
11. return 0;}
Далее, сталкиваюсь с базовым и производным классом – не буду грузить полным текстом пограммы вкратце такая ситуация объявляются два класса – базовый и производный с перегружаемыми конструкторами вот их обяьвление
1.Заголовок
#include <iostream>
2.using namespace std;
3.enum BREED {GOLDEN, CARIN, DADNDIE, SHETLAND, DOBERMAN, LAB}; - обьявление enum
2.Объявление конструктора производного класса
Dog::Dog (int age, int weight, BREED breed):
Mammal(age), itsBreed (breed){
itsWeight = weight;
cout<<"Dog (int, int, BREED)\n";}
Далее, пытаемся инициализировать конструктор вводом данных с клавиатуры – вот листинг ввода все написано в теле main()
85. int age, weight;
86. unsigned short int breed;
87. cout<<"Please, enter breed :";
88. cin>>breed;
89. cout<<"\nPlease, enter age :";
90. cin>>age;
91. cout<<"\nPlease, enter weight :";
92. cin>>weight;
93. Dog tuzik (age, weight,breed);
94. cout<<"Tuzik is dog "<<tuzik.GetBreed()<<", his age "<<tuzik.GetAge()<<", and "<<tuzik.GetWeight()<<" pound weight";
95. return 0;}
Компилятор ругается -
# CC -o 124 124.cc
"124.cc", line 93: Error: Could not find a match for Dog::Dog(int, int, unsigned short) needed in main().1 Error(s) detected.
В чем дело – так как простую программу компилил без вопросов с использованием переменной unsigned short int today;
Новичек заранее благодарен гуру