Форум программистов, компьютерный форум CyberForum.ru

Ошибка перегрузки конструктора - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Получить все возможные варианты загрузки ящиков http://www.cyberforum.ru/cpp-beginners/thread897562.html
На перевозку 800 кг овощей с базы подготовлены ящики. В них можно загрузить по 8, 10 и 15 килограммов. Получить все возможные варианты загрузки ящиков. Помогите решить циклами for ,while , do while! Добавлено через 1 час 20 минут :wall: Добавлено через 1 час 8 минут :help:
C++ Обратная польская запись Внизу приведена процедура с сайта e-maxx, на вход подается выражение к примеру "-(12+3)+(-3+4)", на выходе результат, куда в процедуре дописать cout чтобы она выводила это выражение в Обратной польской записи. Спасибо за ранее int calc (string & str) { bool may_unary = true;//унарный символ vector<int> numbers; vector<char> op; for (size_t i=0; i < str.size(); i++) if (str !=... http://www.cyberforum.ru/cpp-beginners/thread897522.html
преобразовать умножив положительные элементы на минимальный. с использованием сортировки C++
что-то вывод не получается... Помогите( #include "stdafx.h" #include <iostream> #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 100 using namespace std;
Списки. Вхождение списка в другой C++
Помогите пожалуйста решить задачу: даны три целочисленных списка L1, L2 и L3. Заменить каждое вхождение списка L2 в список L1 на список L3. Добавлено через 3 часа 12 минут #include <stdio.h> #include <iostream> struct List { int info; List *next; List *pred;
C++ Нахождение n по формуле http://www.cyberforum.ru/cpp-beginners/thread897508.html
Здравствуйте уважаемые форумчане!!! помогите пожалуйста с написанием программы Дано натуральное n. Вычислить Заранее большое спасибо)
C++ Как узнать размер папки и её подкаталогов Всем привет. Возник вопрос: "Как узнать размер папки и её подкаталогов" Перерыв кучу информации я понял, что напрямую узнать размер не выйдет.. Нужно перебирать все файлы и подпапки в нужной мне папке.. Не могу найти способ как это правильно сделать. На данный момент имею код: подробнее

Показать сообщение отдельно
Simpson_
15 / 15 / 3
Регистрация: 06.02.2013
Сообщений: 53
10.06.2013, 17:29     Ошибка перегрузки конструктора
Есть класс в котором 2 конструктора
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef DATE_H
#define DATE_H
 
class Date
{
    public:
        Date(int = 1, int = 1, int = 1990);
        Date(int = 1, int = 1990);
        void print() const;
        ~Date();
    private:
        int month;
        int day;
        int year;
        static const char *namesMonth[13];
 
        int checkDay(int) const;
};
#endif
здесь их код

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
Date::Date(int mn, int dy, int yr)
{
    if(mn>0 && mn<=12)
      {
        month=mn;
      }
    else
      {
          month=1;
          cout<<"Invalid month ("<<mn<<") set to 1.\n";
      }
 
    year=yr;
    day=checkDay(dy);
 
    cout<<"Date object constructors for date ";
    print();
    cout<<endl;
}
        
Date::Date(int smds, int yr)
{
    int monthCount=1;
    int dayCount=1;
    
    if(year%4==0 && (smds>366 || smds<1))
      smds=1;
    else if(smds>365 || smds<1)
      smds=1;
    
    int daysPerMonth[13]=
        {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        
    for(int i=1; i<=smds; i++)
        {
         if((year%4==0 && monthCount==2) && i==(daysPerMonth[monthCount]))
            {
            monthCount++;
            dayCount=1;
            smds-=i;
            i=1;    
            continue;        
            }
        
         if(i==daysPerMonth[monthCount])
           {              
            monthCount++;
            dayCount=1;
            smds-=i;
            i=1;
           }
                   
         dayCount++; 
 
      }
      
   year=yr;
   day=dayCount;
   month=monthCount;
   
    cout<<"Date object constructors for date ";
    print();
    cout<<endl;
}
код main

C++
1
2
3
4
5
6
7
8
int main(void)
{
    Date birth(205, 1949);
 
    cout<<endl;
 
    return 0;
}
почему компилятор ругается?????

Bash
1
2
3
4
5
main.cpp: В функции «int main()»:
main.cpp:9:22: ошибка: вызов перегруженной «Date(int, int)» имеет неоднозначную трактовку
main.cpp:9:22: замечание: candidates are:
Date.h:8:4: замечание: Date::Date(int, int)
Date.h:7:3: замечание: Date::Date(int, int, int)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru