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

Определение переменных в пространстве имен в разных фалах - C++

Восстановить пароль Регистрация
 
HenryDukart
 Аватар для HenryDukart
100 / 100 / 28
Регистрация: 05.10.2013
Сообщений: 400
Завершенные тесты: 2
11.12.2015, 00:13     Определение переменных в пространстве имен в разных фалах #1
Здравствуйте, никак не могу решить проблему. Есть два файлы:

C++
1
2
3
4
5
6
7
8
9
10
11
//main.cpp
#include <iostream>
#include "IgorFunctions.h"
using namespace Igor;
using namespace std;
 
int main()
{
    cout << f(1) << endl;
    return 0;
}
C++
1
2
3
4
5
6
7
//IgorFunctions.h
#pragma once
namespace Igor
{
    int a = 1;
    int f(int x);
}
C++
1
2
3
4
5
6
7
8
//IgorFunctions.cpp
#include "IgorFunctions.h"
 
extern int Igor::a;
int Igor::f(int x)
{
    return x+a;
}
Пример искусственный. Проблема в том, что линковщик ругается на то, что "a" уже определена. Помогите, пожалуйста, разобраться.

Добавлено через 33 минуты
Вопрос решен.

C++
1
2
3
4
5
6
7
//IgorFunctions.h
#pragma once
namespace Igor
{
    extern int a;;
    int f(int x);
}
C++
1
2
3
4
5
6
7
8
//IgorFunctions.cpp
#include "IgorFunctions.h"
 
int Igor::a=1;
int Igor::f(int x)
{
    return x+a;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2015, 00:13     Определение переменных в пространстве имен в разных фалах
Посмотрите здесь:

friend функция в пространстве имен C++
C++ Ошибка повторения имен переменных при использовании глобальной переменной
C++ Изменение имен переменных в зависимости от шага цикла
"Автозаполнение" имен типов/функций/переменных C++
C++ русские символы в качестве имен переменных
C++ Сравнение переменных разных типов
C++ Адреса двух разных переменных одинаковы
Определение переменных в заголовочных файлах C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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