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

Линковщик студии суёт нос не туда куда надо - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Брутфорс WPA2 http://www.cyberforum.ru/cpp-beginners/thread725589.html
По-пьяни поменял пароль от wi-fi, гуглил, или посылает на Linux-системы, либо на CommView и Aircrack-ng. Сетевой адаптер не тащит эти проги. Есть амбиции написать прожку по бруту. Помню частично пароль, так что взлом будет небольшой, надеюсь
C++ Посчитать выражение sqrt((2)+sqrt((4)+..+sqrt(2n))) http://www.cyberforum.ru/cpp-beginners/thread725585.html
Дано целое положительное n. Вычислить. C++
Извините за столь позднее обращение, но как это вообще решать?как!? Правила
C++ Написать функцию, кторая определяет символ, наиболее частый в строке
Заранее спасибо.
C++ Идентификатор не найден http://www.cyberforum.ru/cpp-beginners/thread725575.html
#include <iostream> #include <cstring> #include <new> #include"PRATT9.h" int main(){ chaff *ps; ps = new(buffer)chaff; strcopy (ps->dross,"qqqqqqqqqqqqqqqqqqq");\\выдает здесь идентификатор не найден return 0;} Помогите пожалуйста.
C++ Самый простой односвязный список Здравствуйте. Найдите ошибки или помогите полностью написать самый простой односвязный список. Без классов, без шаблонов и без функций. #include "stdafx.h" #include "iostream" using namespace std; struct list { long val; list *next; подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
10.12.2012, 00:37     Линковщик студии суёт нос не туда куда надо
Цитата Сообщение от Gepar Посмотреть сообщение
Меня больше удивляет почему она начинает два раза в list их включать. Это получается что у меня при выносе кода из list.h в list.cpp часть кода использующего colors.h находится в list.h, а часть в list.cpp после чего линковщик суёт нос не туда куда надо и подсовывает в list.obj определение colors.h для list.h, а потом засовывает определение colors.h для list.cpp. Другого объяснения я не нахожу. Вопрос в том КАКОГО ФИГА сунуть colors.h в list.cpp когда я не прошу этого (в list.cpp есть лишь include list.h), что за медвежья услуга
она включает всё это в каждый файл, где прописан этот инклуд. Если у тебя хотя бы два файла, в которых есть #include "colors.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 COLORS_H
#define COLORS_H
//коды цветов
enum ConsoleColor
{
        Black         = 0,
        Blue          = 1,
        Green         = 2,
        Cyan          = 3,
        Red           = 4,
        Magenta       = 5,
        Brown         = 6,
        LightGray     = 7,
        DarkGray      = 8,
        LightBlue     = 9,
        LightGreen    = 10,
        LightCyan     = 11,
        LightRed      = 12,
        LightMagenta  = 13,
        Yellow        = 14,
        White         = 15
};
//возможность установки цвета зная заранее его код
void SetColor(ConsoleColor, ConsoleColor = White);
//доп. возможность установкци цвета. Её отличие в том что функция
//выбирает цвета максимально отличающиеся для номеров что рядом (в отличии от распред. цветов в табличке)
void SetDifColors(int nColor);
#endif
А реализацию функций вынеси в СРР файл. Сolors.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
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
 #include<windows.h>
#include "Colors.h"
//возможность установки цвета зная заранее его код
void SetColor(ConsoleColor text, ConsoleColor background = White)
{
    static HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
 
//доп. возможность установкци цвета. Её отличие в том что функция
//выбирает цвета максимально отличающиеся для номеров что рядом (в отличии от распред. цветов в табличке)
void SetDifColors(int nColor)
{
    ConsoleColor color;
    switch(nColor)
    {
    case 0:
        color = Black;
    case 1:
        color = Red;
        break;
    case 2:
        color = Green;
        break;
    case 3:
        color = Blue;
        break;
    case 4:
        color = Yellow;
        break;
    case 5:
        color = LightGray;
        break;
    case 6:
        color = Black;
        break;
    case 7:
        color = Cyan;
        break;
    case 8:
        color = LightRed;
        break;
    case 9:
        color = LightCyan;
        break;
    case 10:
        color = Brown;
        break;
    case 11:
        color = LightGreen;
        break;
    case 12:
        color = LightBlue;
        break;
    case 13:
        color = DarkGray;
        break;
    case 14:
        color = Magenta;
        break;
    case 15:
        color = White;
        break;
    default:
        color = Black;
        break;
    }
    SetColor(color);
}
- ошибка исчезнет
 
Текущее время: 08:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru