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

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

Восстановить пароль Регистрация
 
Jack125
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 7
27.10.2012, 18:56     Ошибка в двух файлах #1
Доброго времени суток

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

Создаю консольное приложение, и в нем 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++
написание программы для поиска и замены части строк в двух текстовых файлах с разным синтаксисом C++
Сравнение двух массивов, непонятная ошибка C++
Нужно написать прогу которая создаст в двух текстовых файлах А и В порядок числ до 17 C++
даны 2 последовательности в файлах, в двух разных, нужно их обьединить и отсортировать по возрастанию. Но нужно сделать прогу с помошью указателей C++
Связка двух функций в разных .cpp файлах C++
C++ Совпадают ли элементы в двух текстовых файлах?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 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
Спасибо
Yandex
Объявления
27.10.2012, 21:58     Ошибка в двух файлах
Ответ Создать тему
Опции темы

Текущее время: 08:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru