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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ LNK4210 & extern "C" http://www.cyberforum.ru/cpp-beginners/thread1609313.html
Добрый вечер. Вопрос находится между АСМ и С/С++. На С написана ".lib", её содержание: #include <iostream> extern "C" { bool isSameLines(char* firstLine, char* secondLine){ return !strcmp(firstLine, secondLine); };
C++ Найти причины и способы исправления ошибок в коде Приложил фото ошибки, не считает часовые пояса. Объясните, что не так. # include <iostream.h> # include <conio.h> # include <string.h> # include <math.h> class user_time { protected: int hr, min; // Поля класу «Час» http://www.cyberforum.ru/cpp-beginners/thread1609299.html
Определить угол между заданными векторами по формуле и вычислить скалярное произведение этих векторов C++
Заданы два вектора х = (x1, x2, x3, x4), y = (y1, y2, y3, y4). Определить угол a между векторами x и y по формуле Вычисление скалярного произведения оформить в виде процедуры. \alpha = \arccos \frac{\left(x, y\right)}{\sqrt{\left(x, x\right)\left(y, y\right)}}
Бинарный поиск элемента в массиве C++
Суть - программа ищет число по формуле K=(a+b)/2 бинарным поиском, и выводит его порядковый номер (индекс) в отсортированом массиве. Проблема заключается в том что программа считает число по формуле, генерирует массив, но в итоге пишет "Element not found" хотя число в массиве присутствует #include <windows.h> #include <iostream> #include <time.h> using namespace std;

Показать сообщение отдельно
HenryDukart
 Аватар для HenryDukart
122 / 122 / 35
Регистрация: 05.10.2013
Сообщений: 455
Завершенные тесты: 2

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

11.12.2015, 00:13. Просмотров 121. Ответов 0
Метки (Все метки)

Здравствуйте, никак не могу решить проблему. Есть два файлы:

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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru