Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
3 / 3 / 3
Регистрация: 10.03.2015
Сообщений: 62
1

LNK1169: обнаружен многократно определенный символ - один или более

19.06.2015, 21:05. Показов 4298. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Кто знает, из-за чего может быть такая ошибка?
Main:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h" 
#include <iostream>
#include "Class1.h"
#include "Class2.h"
 
using namespace std; 
 
int main() 
{ 
    
    system("pause"); 
    return 0;
}
Class1.h
C++
1
2
3
4
5
6
7
8
9
#ifndef CLASS1_H
#define CLASS1_H
 
class Class1
{
 
} class1;
 
#endif CLASS1_H
Class2.h
C++
1
2
3
4
5
6
7
8
9
#ifndef CLASS2_H
#define CLASS2_H
 
class Class2
{
 
} class2;
 
#endif CLASS2_H
Class1.cpp
C++
1
2
3
4
#include "stdafx.h" 
#include "Class1.h"
#include "Class2.h"
/*code*/
Class2.cpp
C++
1
2
3
4
#include "stdafx.h" 
#include "Class2.h"
#include "Class1.h"
/*code*/
Уже всю голову сломал..

Добавлено через 8 минут
Проблема решилась объявлением классов с ключевым словом extern, только я не совсем понял, почему без него-то нельзя?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2015, 21:05
Ответы с готовыми решениями:

fatal error LNK1169: обнаружен многократно определенный символ - один или более
Искала в интернете решение этой проблемы, находила похожие, но не помогло своей... В общем....

Fatal error LNK1169: обнаружен многократно определенный символ - один или более
При компиляции возникает ошибка: 1&gt;Исходный код.obj : error LNK2005: &quot;public: __thiscall...

Fatal error LNK1169: обнаружен многократно определенный символ - один или более
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;climits&gt; using std::cout; using std::cin;...

Fatal error LNK1169: обнаружен многократно определенный символ - один или более
Добрый день, подскажите пожалуйста как исправить ошибку? Есть заголовочный файл: #pragma once...

4
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
19.06.2015, 21:39 2
Цитата Сообщение от sereja322 Посмотреть сообщение
Проблема решилась объявлением классов с ключевым словом extern
Имеешь в виду эти объявления?
Цитата Сообщение от sereja322 Посмотреть сообщение
C++
1
class1;
Цитата Сообщение от sereja322 Посмотреть сообщение
C++
1
class2;
Это не тлько объявление, но и определение объекта (выделение памяти под него), а оно должно быть одно в программе. Ты же подключаешь заголовочные файлы к нескольким .cpp, получается множественное определение. Если использовать extern, то это будет только объявление без определения.
0
3 / 3 / 3
Регистрация: 10.03.2015
Сообщений: 62
19.06.2015, 21:44  [ТС] 3
а как тогда быть?
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
19.06.2015, 21:57 4
Лучший ответ Сообщение было отмечено sereja322 как решение

Решение

Цитата Сообщение от sereja322 Посмотреть сообщение
а как тогда быть?
1) Не делать определений в загловочных файлах;
2) Если делать то с extern, а определение сделать в одном из .cpp.
1
3 / 3 / 3
Регистрация: 10.03.2015
Сообщений: 62
19.06.2015, 23:37  [ТС] 5
Спасибо большое, сделал так у себя на курсаче и 1500 строк превратились в несколько компактных файлов.
0
19.06.2015, 23:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2015, 23:37
Помогаю со студенческими работами здесь

fatal error LNK1169: обнаружен многократно определенный символ - один или более
код который показан снизу я компилировал в двух программах на visual c++ и dev c++ в dev c++ всё...

Обнаружен многократно определенный символ - один или более
Здравствуйте. Выскакивает ошибка: error LNK1169: обнаружен многократно определенный символ - один...

Обнаружен многократно определенный символ - один или более
Вот с толкнулся с такой проблемой. Решил методом написания extern в хейдер файле и вынесении...

Обнаружен многократно определенный символ - один или более Visual Studio
Добрый день! Смотрите) Есть заголовочный файл, который по сути пустой using namespace std; class...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru