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

fatal error LNK1169: one or more multiply defined symbols found - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформулируйте, что такое разделитель операторов и где он ставится http://www.cyberforum.ru/cpp-beginners/thread918014.html
Я интуитивно понимаю, в своих программах всегда ставлю, где надо, но словами написать не могу. А нужен полностью формализованный абзац, где и зачем ставится точка с запятой.
C++ Порядок вызова конструкторов/деструкторов Вопрос чисто теоретический. Попробую сформулировать, не ругайте если получится коряво. Например, есть некий класс для писанины в лог, который в конструкторе открывает файл, а в деструкторе его закрывает. Ну какнибудь, примерно так: void _PrintLog(char*str); class CLOG { public: FILE logfile; CLOG(){logfile=fopen("некийфайл.txt", "r");}; ~CLOG(){fclose(logfile)}; http://www.cyberforum.ru/cpp-beginners/thread918008.html
Как сохранить\прочитать контейнер в бинарный файл C++
ostream_iterator<string, char> out(cout, "\n"); set<string> mat; set<string> pat; string temp; cout << "Input Mat's friends:\n"; while (getline(cin, temp) && temp != "quit") mat.insert(temp); ofstream fout("mat.dat", ios_base::out | ios_base::app | ios_base::binary); fout.write((char *) &mat, sizeof mat);
C++ Змейка
Решил написать собственный аналог змейки. Создал костяк программы, и у меня возникло три вопроса. 1. Змейка отказывается двигаться влево(нажат CapsLock и раскладка английская, при других параметрах все ОК). 2. Как сделать управление с помощью клавиш?(+Page Up, Page Down, Home, End) 3. Экран сильно мерцает при передвижении змейки. Возможно из-за system("cls"). Можно ли изменять положение змейки...
C++ программа рождает программу? http://www.cyberforum.ru/cpp-beginners/thread917986.html
Добрый день, вот такой вопрос: Возможно ли, чтобы программа в результате своих алгоритмов писала новые строки программного кода, а затем сама же по ним работала? Либо изменяла свой собственный код
C++ Как, при разнесении программы на части, в С++, сделать так, чтобы подключаемый файл заметил компилятор? думаю, всё ясно из темы :) Добавлено через 47 секунд Т.е. куда помещать подключаемый файл? подробнее

Показать сообщение отдельно
Асурус
2 / 2 / 1
Регистрация: 27.07.2012
Сообщений: 40
09.07.2013, 08:27  [ТС]     fatal error LNK1169: one or more multiply defined symbols found
У меня там много и других ошибок... вот проект:
Get_String_Getche.h
C++
1
2
3
#include "stdafx.h"
 
void get_str(char* str);
stdafx.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
 
#pragma once
 
#include "targetver.h"
 
#include <stdio.h>
#include <tchar.h>
 
#include <conio.h>
#include <string.h>
#include <iostream>
#include <stdlib.h>
#include <process.h>
using namespace std;
#include <Windows.h>
 
#include "Very_Long_Number.h"
// TODO: reference additional headers your program requires here
Very_Long_Number.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
#include "stdafx.h"
#include "Get_String_Getche.h"
 
extern const int SZ = 1000;
enum posneg{pos, neg};
 
class very_l_numb
{
private:
    char number[SZ];
    int numb_len;
    int signs_after_comma;
    posneg pn;
    very_l_numb mult_on_10(const very_l_numb);
    very_l_numb mult_on_digit(const int);
    void ld_to_str(const long double, char*);
public:
    very_l_numb()
    {
        number[0] = '\0';
        numb_len = 0;
        signs_after_comma = 0;
        pn = pos;
    }
    very_l_numb(const char str[])
    {
        int count_len = 0;
        int sign = 0;
        int slen = strlen(str);
        signs_after_comma = 0;
        for(int j = 0; j < slen; j++)
        {
            if(str[j] == ',')
            {
                if(signs_after_comma != 0)
                {
                    cout << "Ошибка, запятая уже была отмечена! Конструктор номер два. " << endl;
                    system("pause");
                    exit(0);
                }
                else
                    signs_after_comma = j;
            }
            else
            {
                
                if(str[j] >= '0' && str[j] <= '9')
                {
                    number[j] = str[j];
                    count_len++;
                }
                else if(str[j] == '+' || str[j] == '-')
                {
                    if(sign == 0)
                        sign = 1;
                    else
                    {
                        cout << "В числе присутствует больше одного знака! Конструктор номер два." << endl;
                        system("pause");
                        exit(0);
                    }
                }
                else
                {
                    cout << "В числе обнаружены инородные символы! Конструктор номер два." << endl;
                    system("pause");
                    exit(0);
                }
            }
        }
        number[numb_len] = '\0';
        strrev(number);
        numb_len = count_len;
        if(str[slen - 1] == '-')
            pn = neg;
        else
            pn = pos;
    }
    very_l_numb(const long double ld)
    {
        char str[SZ];
        ld_to_str(ld, str);
        very_l_numb temp(str);
        strcpy(number, temp.number);
        numb_len = temp.numb_len;
        signs_after_comma = temp.signs_after_comma;
        pn = temp.pn;
    }
    void show_numb();
    void get_numb();
    very_l_numb operator *(very_l_numb);
    very_l_numb operator +(very_l_numb);
    very_l_numb operator /(very_l_numb);
    very_l_numb operator -(very_l_numb);
};
Class_Very_Long_Number.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Class_Very_Long_Number.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
//#include "Very_Long_Number.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "rus");
//  very_l_numb test((long double)10);
//  test.show_numb();
    system("pause");
    return 0;
}
Get_String_Getche.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
24
25
26
27
28
29
30
31
32
#include "stdafx.h"
#include "Get_String_Getche.h"
 
//extern const int SZ;
 
void get_str(char* str)
{
    int count = 0;
    char ch = 8;
    do
    {
        if(count == SZ)
        {
            cout << endl << "Строка может содержать только " << SZ - 1 << " символов." << endl
                << "Попробуйте ещё раз." << endl;
            count = 0;
        }
        *(str + count++) = getche();
        if(*(str + count - 1) == 8)
        {
            if(count != 1)
            {
                cout << " " << ch;;
                count -= 2;
            }
            else
                count--;
        }
    }while(*(str + (count - 1)) != '\r');
    str[count - 1] = '\x0';
    cout << endl;
}
Very_Long_Number.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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "stdafx.h"
//#include "Very_Long_Number.h"
 
void very_l_numb::ld_to_str(const long double ld, char* str)
{
    double d1;
    d1 = ld;
    int j = 0, i, a = 0;
    while(d1 >= 1)
    {
        d1 /= 10;
        j++;
    }
    while(d1 != 0)
    {
        d1 *= 10;
        i = d1;
        d1 -= i;
        if(a == j && d1 != 0)
            str[a++] = ',';
        else
            str[a++] = i + '0';
    }
    str[a] = '\0';
}
 
void very_l_numb::show_numb()
{
    if(signs_after_comma == numb_len)
        cout << '0';
    for(int j = numb_len; j > 0 + 1; j--)
    {
        if(j == signs_after_comma)
            cout << ',';
        cout << number[j - 1];
    }
}
 
Текущее время: 03:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru