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

глюк с определениями - C++

Восстановить пароль Регистрация
 
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
11.06.2012, 15:10     глюк с определениями #1
вот файл unit.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef __unit_h__
#define __unit_h__
 
const int MAXHELF=100;
struct FPOINT
{
    float   x;
    float   y;
};
 
class Tunit
{
public :
int     team;
int     team_agricultural;
FPOINT  location;
FPOINT  moveLocation;
float   max_helf;
float   current_helf;
int     ID_cel; 
float   speed;
Tunit();
void move();
void search();
};
 
 
#endif
вот файл
unit.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef __unit_cpp__
#define __unit_cpp__
#include "unit.h"
 
Tunit::Tunit()
{}
 
void Tunit::move()
{
if(this->location.x<this->moveLocation.x)
        this->location.x+=speed;
    if(this->location.x>this->moveLocation.x)
        this->location.x-=speed;
    if(this->location.y<this->moveLocation.y)
        this->location.y+=speed;
    if(this->location.y>this->moveLocation.y)
        this->location.y-=speed;
}
void Tunit::search()
{
 
}
#endif
выводит такой бред
>unit.obj : error LNK2005: "public: __thiscall Tunit::Tunit(void)" (??0Tunit@@QAE@XZ) уже определен в main.obj
1>unit.obj : error LNK2005: "public: void __thiscall Tunit::move(void)" (?move@Tunit@@QAEXXZ) уже определен в main.obj
1>unit.obj : error LNK2005: "public: void __thiscall Tunit::search(void)" (?search@Tunit@@QAEXXZ) уже определен в main.obj
1>C:\prokects c++\zruns\Debug\zruns.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более
как с этим бороться ?

Добавлено через 5 минут
компилятор mvs 2008
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2012, 15:10     глюк с определениями
Посмотрите здесь:

глюк в программе C++
Глюк или ? C++
C++ Глюк GetWindowModuleFileName
Странный глюк с вектором C++
Странный глюк с биндом C++
C++ глюк с teelg
C++ Глюк gcc?
C++ Глюк печатания и глюк порчи константы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
11.06.2012, 15:17     глюк с определениями #2
похоже раньше все функции были определены в h файле, в котором не было стражей ключения:
#ifndef __unit_cpp__
#define __unit_cpp__

Хотя может это и не так.

Попробуйте так:
Убедитесь, что в main.cpp не определены методы вашего Tuint.
В cpp файлах стражи включения не нужны. их оттуда нужно удалить. (это про uint.cpp)
После этого в меню
Build->Clean Solution
Build->Rebuild Solution
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
11.06.2012, 15:17  [ТС]     глюк с определениями #3
всё разобрался mvs сама использует файл unit.cpp. некто не знает где можно почитать о стандартах языка который использует MVC ++ 2008?
Yandex
Объявления
11.06.2012, 15:17     глюк с определениями
Ответ Создать тему
Опции темы

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