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

Ошибка LNK2005 в перегрузке операторов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Главные диагонали в матрице http://www.cyberforum.ru/cpp-beginners/thread1018235.html
Доброго времени суток! Как можно вывести главные диагонали в квадратной матрице?? У меня получилось только одну диагональ, а как вторую?? Спасибо. #include <iostream> #include <ctime> #include <iomanip> using namespace std; int fun() { srand(time(NULL)); int n =0,i,j;
C++ Графика в С++ Здравствуйте! Дали задание: используя каркасное представление нарисовать куб (изометрия), и с помощью функций вращать\масштабировать и тд. Не используя OpenGL и DirectX. Подскажите пожалуйста литературу, прочитав которую - я смогу реализовать данное задание? http://www.cyberforum.ru/cpp-beginners/thread1018217.html
C++ Написать программу удаления из ведомости информации о студентах
В сведения хранится информация по задолженностям студентов: ФИО., Группа, курс, предмет. Написать программу удаления из ведомости информации о студентах, аннулировав задолженности.
C++ Зачем нужны указатели?
Интересует вопрос, зачем нужны указатели? Например почему лучше нужно объявлять переменные как указатели, почему как обычно нельзя? То есть не так: int *test = new int; *test = 5; А вот так: int test; test = 5
C++ Задача на массивы c++ http://www.cyberforum.ru/cpp-beginners/thread1018201.html
В одномерном массиве, состоящем из n целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами. Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине - элементы, стоявшие в четных позициях. p.s. помогите...
C++ Способ прочитать файл с базой данных есть база данных в формате .dat есть файл с структурами и типами в формате .h что использовать какие компоненты или sql тут потребуется чтобы вывести базу данных, просьба подсказать! пожалуйста! Добавлено через 36 минут формат .data... прошу прощение подробнее

Показать сообщение отдельно
I_Masha_I
2 / 2 / 0
Регистрация: 14.10.2012
Сообщений: 53
25.11.2013, 11:40     Ошибка LNK2005 в перегрузке операторов
Возникает вот такая ошибка
Ошибка LNK2005 в перегрузке операторов
Вот ссылка на весь проект
https://www.dropbox.com/s/j62sp205lx...fire_l_new.rar
Если закомментировать Add_fire, то ошибки нет и всё работает, а вместе всё падает.
Может быть можно как нибудь изменить синтаксис или сделать что-то ещё с
C++
1
2
3
4
float &Vector2::operator [] (int num)
{
    return _vector[num];
}
и
C++
1
2
3
4
float &Vector3::operator [] (int num)
{
    return _vector[num];
}
чтобы не возникала ошибка, что они уже определёны
Вот код dop.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
//using namespace std;
#include <math.h>
#include <exception>
#include <string>
using namespace std;
static int DIST = 200;
static const double PI = 3.14159265359;
 
class Vector2;
class Vector3;
class Camera;
class Figures;
class Figure;
class Cube;
template <typename vectorType > class Matrix;
void DrawSide(Matrix<Vector2> & matr,Graphics ^ gr,Pen ^ myPen);
static bool Roberts(Matrix<Vector3> matr, Vector3 & bariCntr, Vector3 Cntr);
static int Sign(float);
static Matrix<Vector3> GetTransposeMatrix(float dx, float dy, float dz);
static Matrix<Vector3> GetRotationMatrix(float alfa, float betta, float gamma,Vector3 CamCntr);
static Matrix<Vector2> ConvertTo2D(Matrix<Vector3> & p);
static Matrix<Vector3> ConvertToProjection(Matrix<Vector3> p, Camera * camera);
 
 
// класс точки в 2d
class Vector2
{
 
    vector<float> _vector;
 
public:
 
    Vector2()
    {
            _vector.push_back(0);
            _vector.push_back(0);
    }
 
    Vector2(float X, float Y)
    {
        _vector.push_back(X);
        _vector.push_back(Y);
    }
 
    ~Vector2()
    {
        _vector.erase(_vector.begin(),_vector.end());
    }
 
    float &operator[] (int num);
};
 
float &Vector2::operator [] (int num)
{
    return _vector[num];
}
 
 
// класс точки в 3d
class Vector3
{
 
    vector<float> _vector;
 
public:
 
    Vector3()
    {
        _vector.push_back(0);
        _vector.push_back(0);
        _vector.push_back(0);
        _vector.push_back(1);
    }
 
    Vector3(float X, float Y, float Z, float D = 1)
    {
        _vector.push_back(X);
        _vector.push_back(Y);
        _vector.push_back(Z);
        _vector.push_back(D);
    }
 
    ~Vector3()
    {
        _vector.erase(_vector.begin(),_vector.end());
    }
 
    void push_back(float number)
    {
        _vector.push_back(number);
    }
 
    float &operator[] (int num);
};
 
float &Vector3::operator [] (int num)
{
    return _vector[num];
}
Помогите пожалуйста!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru