Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
7 / 5 / 3
Регистрация: 02.11.2019
Сообщений: 85

Подключил файл cpp к другому и в header об'явил их функцию, не знаю что сделал не так но появилось несколько ошибок

17.12.2019, 15:25. Показов 577. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возникли 2 ошибки:
1.
Ошибка LNK2005 "int __cdecl minDayMax(int,int)" (?minDayMax@@YAHHH@Z) уже определен в classAndFunctions.obj classAndFunctions C:\Users\user\source\repos\classAndFunct ions\classAndFunctions\minDayMax.obj 1

2.
Ошибка LNK1169 обнаружен многократно определенный символ - один или более classAndFunctions C:\Users\user\source\repos\classAndFunct ions\Debug\classAndFunctions.exe 1


1) файл

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
#include <iostream>
using namespace std;
int minDayMax(int day, int month) {
    if (month == 1 && day <= 31 && day >= 1) { ///1
        return day;
    }
    else if (month == 2 && day <= 29 && day >= 1) {
        return day;
    }
    else if (month == 3 && day <= 31 && day >= 1) {
        return day;
    }
    else if (month == 4 && day <= 30 && day >= 1) {
        return day;
    }
    else if (month == 5 && day <= 31 && day >= 1) {
        return day;
    }
    else if (month == 6 && day <= 30 && day >= 1) {
        return day;
    }
    else if (month == 7 && day <= 31 && day >= 1) {
        return day;
    }
    else if (month == 8 && day <= 31 && day >= 1) {
        return day;
    }
    else if (month == 9 && day <= 30 && day >= 1) {
        return day;
    }
    else if (month == 10 && day <= 31 && day >= 1) {
        return day;
    }
    else if (month == 11 && day <= 30 && day >= 1) {
        return day;
    }
    else if (month == 12 && day <= 31 && day >= 1) {
        return day;
    }
    else {
        while (day < 1 || day>31) {
            cout << "enter another day of birthday for your month" << endl; 
                cin >> day;
        }
        return day;
}
}
2) файл
header (fuctionAssign.h)

C++
1
2
3
4
5
6
#ifndef fuctionAssign
#define fuctionAssign
 
int minMonthsMax(int);
int minDayMax(int, int);
#endif
3) файл

Основной проект
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
#include "fuctionAssign.h"
#include "minDayMax.cpp"
#include<string>
using namespace std;
class animal {
    int weight = 10;
private:
    int month;
    int year;
    int day;
    string time;
    string name;
public: animal(string _name) : name(_name) {}
    void getdateOfBirthday() {
    cout << "Date of birthday:" << "\nyear: " << year << "\nmonth: " << month << "\nday:" << day << "\ntime of birthday: " << time << endl;
}
      void say() {
          cout << "Hello world, I am: " << name << endl;
      }
      void setdateOfBirthday(int date_birthday, int year_birthday, int day_birthday, string time_birthday, string name_animal) {
          month = minMonthsMax(date_birthday);
          year = year_birthday;
          day = minDayMax(day_birthday, date_birthday);
          time = time_birthday;
          name = name_animal;
      }
};
 
int main()
{
    int month;
    int year;
    int day;
    string name;
    string time;
    cout << "Enter name, year, month, day and time create a new animal" << endl;
    cin >> name;
    cin >> year;
    cin >> month;
    cin >> day;
    cin >> time;
    animal cat(name);
    cat.say();
    cat.setdateOfBirthday(month, year, day, time, name);
    cat.getdateOfBirthday();
    
    
};
 
 
int minMonthsMax(int monthOfBirthday) {
    if (monthOfBirthday >= 1 && monthOfBirthday<= 12) { //если месяц больше 1 и 12 вернуть месяц
 
        return monthOfBirthday;
    }
    else {
        while (monthOfBirthday < 1 || monthOfBirthday>12) {
        cout << "Enter another months" << endl;
         //пока месяц ==-100...0 и больше 12
            cin >> monthOfBirthday;
        }
        
        return monthOfBirthday;
    }
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.12.2019, 15:25
Ответы с готовыми решениями:

Есть три файла. файл main.cpp и Source.cpp знают только Header.h, так как он подключен. как же подключается Source.cpp
main.cpp #include &lt;iostream&gt; #include&quot;Header.h&quot; using namespace std; int main() { A ob; ob.f(); return...

Сделал тестовое задание, ответили что я джун плюс, объясните что я сделал не так
Недавно попросили сделать вот это тестовое задание...

Приложение создано, ошибок нет, устанавливается но запустить я его не могу - нет иконки. Что я сделал не так?
Код: package ru.wert1go.equation; import android.app.Activity; import android.os.Bundle; import android.text.Html; import...


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

Или воспользуйтесь поиском по форуму:
7
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
17.12.2019, 15:52
Цитата Сообщение от valick18 Посмотреть сообщение
#include "minDayMax.cpp"
Не надо подключать cpp файлы через include.
0
7 / 5 / 3
Регистрация: 02.11.2019
Сообщений: 85
17.12.2019, 15:53  [ТС]
Но тогда как мне их объединить?
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
17.12.2019, 16:03
valick18, в вашей IDE создайте проект и добавьте туда оба ваших cpp.
Но судя по ошибкам, которые вы скинули, это уже сделано.
0
7 / 5 / 3
Регистрация: 02.11.2019
Сообщений: 85
17.12.2019, 16:11  [ТС]
Это мне ничего нового не говорит, меня интересует именно что сделал не так в коде что такие ошибки появились.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
17.12.2019, 16:36
Цитата Сообщение от valick18 Посмотреть сообщение
меня интересует именно что сделал не так
Цитата Сообщение от DrOffset Посмотреть сообщение
Не надо подключать cpp файлы через include.
...

Добавлено через 11 минут
Судя по всему, ваш файл уже добавлен в проект. Следовательно ни о какому ручном объединении не может идти речи. Ваш линкер за вас все объединит. И вот в процессе этого объединения он натыкается на дважды определенные функции. Одно определение было скомпилировано независимо, поскольку файл minDayMax.cpp добавлен в проект, второе - было скомпилирован в составе вашего main.cpp, потому что в его текст этот cpp был включен вручную через include.
0
7 / 5 / 3
Регистрация: 02.11.2019
Сообщений: 85
17.12.2019, 16:53  [ТС]
Если не подключать сpp тогда ошибок будет намного больше.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
17.12.2019, 17:04
Цитата Сообщение от valick18 Посмотреть сообщение
Если не подключать сpp тогда ошибок будет намного больше.
Это не критерий.
Компилятор может выдать множество ошибок из-за одной маленькой проблемки, а может на серьезную ошибку вообще не среагировать, потому что по стандарту диагностика не требуется (невозможна).
Показывайте ошибки, там видно будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru