Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Что то с классами не так - C++

17.01.2011, 16:33. Просмотров 316. Ответов 4
Метки нет (Все метки)

Люди! Пишу курсовую, осталось всего ничего. И тут бах - странные ошибки полезли.

В общем дело было так. Загрузился в винду, запустил VS C++ 6.0, и тут он после редактирования и компиляции выдает ошибку:

friend.obj : error LNK2005: "class Date d" (?d@@3VDate@@A) already defined in calc.obj
friend.obj : error LNK2005: "class Date d" (?d@@3VDate@@A) already defined in calc.obj
Debug/kurs_rab.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
В программе три файла - класса. Date, Calc и Friend. Я особо пока не парился с приватными и публичными методами, у меня все public.

Интересно что есть вчерашний бэкап этой курсовой, и там такие же ошибки сыплет! Может я случайно какую-то галочку в настройках Visual Studio нажал, или еще чего??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 16:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что то с классами не так (C++):

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее? - C++
Вот код: #include <iostream> #include <conio.h> using namespace std; int main(){ float a,c; char b; skip: ...

Что в коде ни так? while не работает так, как ожидаю - C++
Написанный код, как я думаю, должен выдавать цифры от 0 до 1000, столбиком. Но выдает начиная от 702 до 1000. Что ни так понимаю, где...

Что-то не то с Майкрсофт визуал студио 2010 или я что-то не так делаю - C++
Дело в том что при запуске вот этой программы: #include <iostream> using namespace std; int main () { for (int i=100; i<=999;...

Что в программе делает так, что процессор грузится на 100%? - C++
Я не очень разбираюсь в С++, поэтому прошу вашей подсказки по поводу нагрузки на процессор. Вот код программы, на компьютере жрет всю...

Список: Что не так с выводом списка, потому что выводится какой-то мусор? - C++
#include <iostream> using namespace std; struct point { int data;//информационное поле-это даннные объявленного или используемого...

Лучший интерактивный самоучитель с++, но так понравился, что думаю, а что если после python изучать с++? - C++
http://academy.cppstudio.com/courses/ 1.) поделитесь опытом после какого языка вы перешли на с++. 2.) Что вам нравится/не очень в языке...

4
oxotnik
1591 / 1068 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
17.01.2011, 16:36 #2
чего то 2 раза задекларировано, не может линкер правильный вариант выбрать
0
Matrasa
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 40
17.01.2011, 16:42  [ТС] #3
oxotnik, Вроде все нормально с этим, просто у меня все классы друг с другом довольно тесно взаимосвязаны.

Но главное: почему вдруг старый бэкап перестал работать, тем более что я его сегодня редактировал и компили не один десяток раз. А тут на тебе...
0
oxotnik
1591 / 1068 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
17.01.2011, 16:56 #4
Код бы полностью показал, тогда можно о чем то говорить, ну либо очистку проекта сделай и попробуй заново все пересобрать.
0
Matrasa
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 40
19.01.2011, 14:20  [ТС] #5
Все решилось просто - в классах Friend и Calc был обьект класса Date, причем обьявленный одинаково как d

C++
1
Date d;
Изменил в одном из классов на

C++
1
Date dd;
Все стало ок. Странно, что ошибка возникла спонтанно.

Попробовал в Code::Blocks код, он работает и так и так.

Всем спасибо за советы!
0
19.01.2011, 14:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2011, 14:20
Привет! Вот еще темы с ответами:

Как сделать так,что бы при введение,например 0;0 выдавалось сообщение,что точка находится на границе? - C++
#include <iostream> using namespace std; int main(){ double x, y; int R=10 cout << "Введите x: " <<...

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

что-то не так - C++
Нужно сделать программу возвращающую произведение n последних элементов массива. Вот программа,но она почеу то возвращает n первых...

Что не так?) - C++
// Программа выполняет следущее: // 1. Считае среднее арифметическое всех положительных элементов массива; // 2. Считает сумму...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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