Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
prove
0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 9
#1

Объявление константы в заголовочном файле

25.06.2016, 16:04. Просмотров 909. Ответов 4
Метки нет (Все метки)

Как объявить константу и массив в заголовочном файле?

C++
1
2
3
4
5
6
7
8
9
10
Map.h
 
#pragma once
 
#include <SFML\Graphics.hpp>
 
extern const int    CY_MAP = 25;
extern const int    CX_MAP = 40;
 
extern sf::String map[CY_MAP];
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
Map.cpp
 
#include "Map.h"
 
 
const int   CY_MAP = 25;
const int   CX_MAP = 40;
 
 
sf::String map[CY_MAP] =
{
    "9999999999999999999999999999999999999999",
    "9                                      9",
    "9  s s                                 9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9          sss                         9",
    "9          sss                         9",
    "9          sss                         9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9999999999999999999999999999999999999999",
};
Ошибка C2374 CY_MAP: переопределение; множественная инициализация
Ошибка C2374 CX_MAP: переопределение; множественная инициализация

Добавлено через 1 минуту
Ошибка C2369 map: переопределение; различные индексы
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2016, 16:04
Ответы с готовыми решениями:

Объявление класса в заголовочном файле
Здравствуйте. Столкнулся с тем что нужно скомпилировать библиотеку для C++....

Объявление поля класса в заголовочном файле
Здравствуйте! Подскажите пожалуйста, как сделать правильно. Есть класс А и...

Два класса в одном заголовочном файле, предварительное объявление
Дико туплю, никак не могу понять, где косячу. Ситуация - есть два описания...

Объявление константы в классе
Мне надо сделать класс в отдельном файле, я не использую main и не могу...

Объявление константы и массива в классе
Задача: 1. объявить константу в созданном классе и сделать ее видимой для всех...

4
shilko2013
249 / 226 / 184
Регистрация: 02.04.2016
Сообщений: 886
Завершенные тесты: 1
25.06.2016, 16:11 #2
убери из map.cpp определения констант.

Добавлено через 16 секунд
или #define
0
prove
0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 9
25.06.2016, 16:14  [ТС] #3
Хм, теперь другие ошибки
Ошибка LNK2005 "class sf::String * map" (?map@@3PAVString@sf@@A) уже определен в Map.obj
Ошибка LNK1169 обнаружен многократно определенный символ - один или более
0
shilko2013
249 / 226 / 184
Регистрация: 02.04.2016
Сообщений: 886
Завершенные тесты: 1
25.06.2016, 16:16 #4
Лучший ответ Сообщение было отмечено prove как решение

Решение

вот что получится
C++
1
2
3
4
5
6
7
8
9
10
11
Map.h
 
#pragma once
 
#include <SFML\Graphics.hpp>
 
const int   CY_MAP = 25;
const int   CX_MAP = 40;
 
 
extern sf::String map[CY_MAP];
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
Map.cpp
 
#include "Map.h"
 
 
sf::String map[CY_MAP] =
{
    "9999999999999999999999999999999999999999",
    "9                                      9",
    "9  s s                                 9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9          sss                         9",
    "9          sss                         9",
    "9          sss                         9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9999999999999999999999999999999999999999",
};
Добавлено через 1 минуту
Это объяви в map.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
sf::String map[CY_MAP] =
{
    "9999999999999999999999999999999999999999",
    "9                                      9",
    "9  s s                                 9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9          sss                         9",
    "9          sss                         9",
    "9          sss                         9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9999999999999999999999999999999999999999",
};
1
prove
0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 9
25.06.2016, 16:26  [ТС] #5
Получилось, спасибо большое

Добавлено через 5 минут
Вот так у меня Map.h

C++
1
2
3
4
5
6
7
8
9
10
11
Map.h
 
#pragma once
 
#include <SFML\Graphics.hpp>
 
const int   CY_MAP = 25;
const int   CX_MAP = 40;
 
 
extern sf::String map[CY_MAP];
и Map.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
#include "Map.h"
 
 
sf::String map[CY_MAP] =
{
    "9999999999999999999999999999999999999999",
    "9                                      9",
    "9  s s                                 9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9          sss                         9",
    "9          sss                         9",
    "9          sss                         9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9                                      9",
    "9999999999999999999999999999999999999999",
};
теперь нет ошибок
0
25.06.2016, 16:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2016, 16:26

Структура в заголовочном файле
Код .h: // file.h #pragma once struct Worker { char name; int cdate;...

Setlocale в заголовочном файле
main.cpp #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;cstring&gt;...

С - С++ enum в заголовочном файле
ситуация примерно такая компилятор gcc есть заголовочный файл в нем...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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