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

Ошибка при компилировании "error LNK2005:"

14.05.2015, 13:37. Показов 756. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
При построении программы компилятор выдаёт следующие ошибки:

HTML5
1
2
3
4
5
6
7
1>------ Построение начато: проект: Car, Конфигурация: Debug Win32 ------
1>  main.cpp
1>main.obj : error LNK2005: "void __cdecl showInformation(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?showInformation@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0000@Z) уже определен в carStruct.obj
1>main.obj : error LNK2005: "public: void __thiscall car::showInformation(void)" (?showInformation@car@@QAEXXZ) уже определен в car.obj
1>main.obj : error LNK2005: "public: void __thiscall car::changeInfo(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?changeInfo@car@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z) уже определен в car.obj
1>C:\Users\Богдан\Documents\Visual Studio 2010\Projects\Car\Debug\Car.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Код программы:

main.cpp
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
68
69
70
71
72
73
74
75
76
77
78
#pragma once
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string>
#include "carStruct.h"
#include "car.h"
#include "carStruct.cpp"
#include "car.cpp"
using namespace std;
 
int main(int argc, char argv[])
{
  
    // Работа со структурой
    cout<<"*************************"<<endl;
    cout<<"Work with structure"<<endl;
    cout<<"*************************"<<endl;
    // Создаем указатель на cтруктуру carStruct и определяем переменные для изменения и добавления информации в будущем
    carStruct *S1;
    string newModel="X7";
    string newBrand="Mazda";
    string newCharact="Very good car";
    // Выделяем динамически память под структуру 
    // и присваиваем адрес структуры в указатель
    try 
    {
        S1=new carStruct;
    } catch(...)
    {
    cout<<"Ошибка: Память не выделена!";
      exit(0);
    };
    // Присваиваем начальные значения элементам структуры
    S1->brand="Ford";
    S1->factory="Kharkhov traktor factory";
    S1->model="Focus";
    S1->specifications="World greatest engine";
    S1->newCharacteristic=" ";
 
    // Вызов функций, у которых в качестве аргумента
    // передается указатель на структуру
    cout<<"Information about car:"<<endl;
    showInformation(S1->brand, S1->factory, S1->model, S1->specifications, S1->newCharacteristic);
    cout<<endl;
    //Изменение информации о машине
    cout<<"Changing information about car:"<<endl;
    changeInfo(newModel, newBrand, S1);
    showInformation(S1->brand, S1->factory, S1->model, S1->specifications, S1->newCharacteristic);
    cout<<endl;
    //Добавление новой характеристики
    cout<<"Adding new information about car:"<<endl;
    addCharacteristik(newCharact, S1);
    showInformation(S1->brand, S1->factory, S1->model, S1->specifications, S1->newCharacteristic);
    
    // Работа с классом
    cout<<"*************************"<<endl;
    cout<<"Work with class"<<endl;
    cout<<"*************************"<<endl;
    // Создаем объект класса car
    car* C1;
    // Выделяем динамически память под объект
    C1 = new car;
    //Изменение информации класса
    C1->changeInfo(newModel, newBrand);
    //Вывод информации на экран
    C1->showInformation();
    cout<<endl;
    //Добавление пользовательской характеристики
    cout<<"Adding new information about car:"<<endl;
    C1->addCharacteristik(newCharact);
    C1->showInformation();
    // Освобождение памяти из под структуры и класса
    delete C1;
    delete S1; 
    _getch();
    return 0;
}
carStruct.h
C++
1
2
3
4
5
6
7
8
9
10
11
#pragma once
#include <string>
using namespace std;
struct carStruct
{
    string brand;
    string factory;
    string model;
    string specifications;
    string newCharacteristic;
};
carStruct.cpp
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
#pragma once
 
#include "carStruct.h"
#include <iostream>
#include <string>
using namespace std;
//information
void showInformation(string brand, string factory, string model, string specifications, string userCharact)
{
    
    cout<<"Brand of the car: "<<brand<<endl;
    cout<<"Factory of the car: "<<factory<<endl;
    cout<<"Model of the car: "<<model<<endl;
    cout<<"Specifications of the car: "<<specifications<<endl;
    if (userCharact != " ")
        cout<<"User Characteristic: "<<userCharact<<endl;
}
// changing information
inline void changeInfo(string newModel, string newBrand, carStruct *Schange)
{
    Schange->model=newModel;
    Schange->brand=newBrand;
}
 
//Adding new field
inline void addCharacteristik(string newCharact, carStruct *Schange)
{
        Schange->newCharacteristic=newCharact;
}
car.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
#include <string>
using namespace std;
class car
{
    private:
        string brand;
        string factory;
        string model;
        string specifications;
        string newCharacteristic;
    public:
        void showInformation(void);
        void changeInfo(string, string);
        void addCharacteristik(string);
};
car.cpp
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
#pragma once
 
#include "car.h"
#include <iostream>
#include <string>
using namespace std;
//information
void car::showInformation(void)
{
 
    cout<<"Brand of the car: "<<brand<<endl;
    cout<<"Factory of the car: "<<factory<<endl;
    cout<<"Model of the car: "<<model<<endl;
    cout<<"Specifications of the car: "<<specifications<<endl;
    if (newCharacteristic != " ")
        cout<<"User Characteristic: "<<newCharacteristic<<endl;
}
// changing information
void car::changeInfo(string newModel, string newBrand)
{
    model=newModel;
    brand=newBrand;
    newCharacteristic=" ";
}
 
//Adding new field
inline void car::addCharacteristik(string newCharact)
{
        newCharacteristic=newCharact;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.05.2015, 13:37
Ответы с готовыми решениями:

ошибка error LNK2005
В проекте структура и bool сравнение двух экземпляров . Выдает эту ошибку и fatal error LNK1169... struct Point3D { double x,y,z; ...

Ошибка 19 error LNK2005. Многофайловое приложение
У меня возникает ошибка Ошибка 19 error LNK2005: &quot;void __cdecl set_0(double *,int)&quot; (?set_0@@YAXPANH@Z) уже определен в...

Ошибка при компилировании
При компилировании выдается ошибка &quot;невозможно создать экземпляр абстрактного класса&quot;. Подскажите, что с ней делать, пожалуйста. ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2015, 13:37
Помогаю со студенческими работами здесь

Ошибка при компилировании
Добрый день, не компилится код, ошибки следующие: In function 'int main(int, char**)': 'cout' was not declared in this scope ...

Ошибка при компилировании
При компилировании любого кода всегда эта ошибка: c:\program files\microsoft visual studio 8\vc\include\string(3) : fatal error C1014:...

Ошибка при компилировании
Всем привет. Я в программировании не силен, мне просто нужно скомпилировать код но выдает ошибку. У другого человека все прекрасно...

ошибка при компилировании
уже не знаю че делать .. написал программу для класса полиномов -выводит все время эту ошибку error C2108: subscript is not of integral...

Ошибка при компилировании
Здравствуйте. У меня ошибка при компилировании кода в VS2017 и мне не понятно как её устранить, помогите, пожалуйста. #include...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru