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

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

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

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

17.01.2011, 16:33. Просмотров 308. Ответов 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 нажал, или еще чего??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2011, 16:33     Что то с классами не так
Посмотрите здесь:

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

Что не так? - C++
#include <stdio.h> #include <iostream> #include <locale> #include <conio.h> using namespace std; void main() { ...

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

Что не так? - C++
#include<stdio.h> #include<conio.h> int main() {int i, N, S, a; scanf("%d", &N); for (i=1; i<=N; i++); {if (a%3) a=i/(i-3); ...

Что не так? - C++
#include <iostream> int main() { setlocale(LC_ALL, "_"); int n, i; std::cout<<"Введите количество...

Что-то не так? - C++
Почему-то выдает два сообщения вместо одного ( лишнее выделено на картине). Скрин прикреплен. Вот отдельно фрагмент кода: double x1 , x2...

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

Но главное: почему вдруг старый бэкап перестал работать, тем более что я его сегодня редактировал и компили не один десяток раз. А тут на тебе...
oxotnik
1589 / 1066 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
17.01.2011, 16:56     Что то с классами не так #4
Код бы полностью показал, тогда можно о чем то говорить, ну либо очистку проекта сделай и попробуй заново все пересобрать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2011, 14:20     Что то с классами не так
Еще ссылки по теме:

что не так? - C++
/*задано масcив цеых чисел,создать новый массив который состоит с елементов первого массива и встречаеться всего один раз . получить...

Что не так? - C++
// laba1_cpp.cpp : Defines the entry point for the console application. // //не удается составить аргумент шаблон для "T" #include...

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

Что не так? - C++
std::istream& operator>> (std::istream& input, Crypta& crypta) { std::cout<<"Enter a full way of the file - "; crypta.file_ =...


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

Или воспользуйтесь поиском по форуму:
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 код, он работает и так и так.

Всем спасибо за советы!
Yandex
Объявления
19.01.2011, 14:20     Что то с классами не так
Ответ Создать тему
Опции темы

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