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

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

17.12.2019, 15:25. Показов 551. Ответов 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
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
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
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
17.12.2019, 16:03
valick18, в вашей IDE создайте проект и добавьте туда оба ваших cpp.
Но судя по ошибкам, которые вы скинули, это уже сделано.
0
7 / 5 / 3
Регистрация: 02.11.2019
Сообщений: 85
17.12.2019, 16:11  [ТС]
Это мне ничего нового не говорит, меня интересует именно что сделал не так в коде что такие ошибки появились.
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
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
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
17.12.2019, 17:04
Цитата Сообщение от valick18 Посмотреть сообщение
Если не подключать сpp тогда ошибок будет намного больше.
Это не критерий.
Компилятор может выдать множество ошибок из-за одной маленькой проблемки, а может на серьезную ошибку вообще не среагировать, потому что по стандарту диагностика не требуется (невозможна).
Показывайте ошибки, там видно будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru