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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Jack125
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 7
#1

Ошибка в двух файлах - C++

27.10.2012, 18:56. Просмотров 250. Ответов 2
Метки нет (Все метки)

Доброго времени суток

Возникла довольно-таки странная проблема:

Создаю консольное приложение, и в нем 2 файла (main.cpp и file.cpp)

В оба файла ввожу самое простое из того, что только можно ввести, для минимизации ошибок
main.cpp

C++
1
2
3
4
5
6
#include <iostream>
#include "file.cpp"
 
int main()
{
}
file.cpp
C++
1
2
3
4
5
6
#include <iostream>
 
int functionFF()
{
    return 0;
}
Компилируется все это, естественно, без проблем
Однако, если сделать какую-нибудь ошибку (напр., return убрать, int перед функцией не поставить или какую-нибудь абракадабру написать и не пометить как примечание), то компилятор выдает сообщение об этой ошибке как и полагается, но если эту ошибку затем исправить, т.е. вернуть все в прежний вид, без проблем это уже не компилируется. Появляются сообщения:

1>main.obj : error LNK2005: "int __cdecl functionFF(void)" (?functionFF@@YAHXZ) уже определен в file.obj
1>C:\Users\Денис\Desktop\1\Debug\1.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более

Если после этого у функции functionFF поменять название, то все опять компилируется без проблем.
Можно ли как-то исправить эту проблему? А то приходится после каждой ошибки название функции менять

Заранее благодарен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 18:56     Ошибка в двух файлах
Посмотрите здесь:

Совпадают ли элементы в двух текстовых файлах? - C++
Имеются два типизированных файла одинакового размера, элементами которых являются отдельные символы. Выяснить, совпадают ли их...

Строки, которые одновременно содержатся в двух заданных текстовых файлах - C++
ребята помогите Пожалуйста!!!! Условие:Написать программу, выводящую на экран строки, которые одновременно содержатся в двух заданных...

Нужно написать прогу которая создаст в двух текстовых файлах А и В порядок числ до 17 - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) { double...

Все числа, содержащиеся в двух бинарных файлах одновременно, переписать в третий файл - C++
Создать два бинарных файла, все числа, содержащиеся в обоих файлах одновременно, переписать в третий файл. Дополнительных массивов не...

Написать программу, выводящую на экран строки, которые одновременно содержатся в двух заданных текстовых файлах - C++
ребята если не трудно помогите с решением задачи на С++ условие: Написать программу, выводящую на экран строки, которые...

Ошибка в алгоритме перемножения двух матриц - C++
Ошибка в алгоритме произведения двух матриц. Я так понял, что где-то выходит за границы массивов. private: void com(int size, int...

Сравнение двух массивов, непонятная ошибка - C++
Программа компилируется но ошибка мозолит глаз... #include &lt;iostream&gt; #include &lt;cstddef&gt; int main(){ using std::cout; using...

обмен элементов двух массивов. В чем ошибка - C++
начал изучать работу с двумя массивами и застрял. Объясните почему после сортировки на энран вылазит ошибка а не то что нужно /*...

Поиск НОД двух больших чисел. Неизвестная ошибка - C++
Бывает вообще три типа ошибок, сижу над прогой несколько дней.Найти ничего могу из-за проблемы..посмотрите,пожалуйста,кому скучно:) ...

Простейшая программа, вывод на экран суммы, разности двух чисел. Ошибка - C++
Пишу свою вторую программу на C++, Программа просит пользователя ввести два числа, получает числа от пользователя и затем печатает сумму,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
doctor_lecter
280 / 153 / 8
Регистрация: 22.09.2012
Сообщений: 283
27.10.2012, 19:06     Ошибка в двух файлах #2
Лучше не подключать .cpp файлов.
Для решения таких проблем используются заголовочные файлы.
Попробуйте так:
файл file.h:
C++
1
2
3
4
5
6
#ifndef __FILE_H__
#define __FILE_H__
 
int functionFF();
 
#endif
файл file.cpp:
C++
1
2
3
4
#include "file.h"
int functionFF() {
    return 0;
}
файл main.cpp
C++
1
2
3
4
5
6
#include <iostream>
#include "file.h"
 
int main()
{
}
Jack125
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 7
27.10.2012, 21:58  [ТС]     Ошибка в двух файлах #3
Спасибо
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru