Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
faradej
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 67
#1

Пространства имен - C++

20.05.2013, 12:39. Просмотров 242. Ответов 0
Метки нет (Все метки)

Здравствуйте. В общем в этом примере возникает ошибка при компиляции
C++
1
2
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl SALES::setSales(struct SALES::Sales &,double const * const,int)" (?setSales@SALES@@YAXAAUSales@1@QBNH@Z) в функции _main
1>C:\Users\Андрей\Documents\Visual Studio 2010\Projects\123\Debug\123.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
К сожалению нету указателя на конкретную строку, поэтому не понимаю в чем затуп. Помогите пожалуйста.

Заголовочный файл с неймспейсом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
namespace SALES
{
const int QUARTERS = 4;  //размер массивов
struct Sales    //создание типа Sales
{
    double sales[QUARTERS];
    double average;
    double max;
    double min;
};
 
void setSales(Sales & s, const double ar[], int n);
 
//void setSales(Sales & s);
 
//void showSales(const Sales & s);
}
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 "my_include.h"
#include <iostream>
using namespace SALES;
using namespace std;
 
void setSales(Sales & s, const double ar[], int n)
{
    s.max = ar[0];  //стартовые значения максимального и минимального значения
    s.min = ar[0];
 
    for(int i=0; i<n; i++)
    {
        s.sales[i] = ar[i];       //переносим значение из массива ar в массив-элемент
        if(s.sales[i] > s.max)    //структуры, а также ищем и задаем максимальное
        {                         //и минимальное значение
            s.max = s.sales[i];
        };
 
        if(s.sales[i] < s.min)
        {
            s.min = s.sales[i];
        };
 
        s.average += s.sales[i];  //вычиесляем
    }                             //среднее арефметическое
    s.average /= n;               //всех чисел и записываем
    cout << "max: " << s.max << endl << ", min: " << s.min; //тестовое отображение
};
 
//void setSales(Sales & s);
 
//void showSales(const Sales & s);
Cpp файл, в котором используется все предыдущее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstdlib>
#include <string>
#include "my_include.h"
using namespace std;
using namespace SALES;
int main(void)
{
    const double digits[QUARTERS] = {45, 24, 242, 23}; //тестовый массив
    Sales hhh;   //тестовая структура
    setSales(hhh, digits, QUARTERS);
    system("pause");
    return 0;
};
Добавлено через 17 минут
Как всегда, час подумаю, напишу на форум и через 5 минут нахожу ошибку. Уже не актуально.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2013, 12:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Пространства имен (C++):

Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные? - C++
Вот например namespace nms1 { int gh; } namespace nms2 { int gh;

Создание пространства имен - C++
Всем доброго времени суток !!! Не могу понять назначение создания пространств имен. В книге автор привел следующий код программы....

Пространства имен в Эклипс - C++
Добрый день. Переношу свой проект из IAR на Eclipse+Yagarto(gcc 4.6.2) Подскажите, из-за чего в hpp модулях проекта может не...

Использование пространства имен - C++
Написать программу, использующую описанные типы данных: инициализация переменных (ввод пользователя), выполнение действий (в зависимости от...

Использование пространства имен - C++
Заголовочный файл с осн функциями двунаправленного списка.Нужно построить на его основе стек и очередь с обобщенным интерфейсом т.е...

Пространства имен и перегрузка функций - C++
описание: есть библиотека. Пространство имен namespace1, в нем есть несколько перегруженных функций func(). // header.h #ifndef...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2013, 12:39
Привет! Вот еще темы с ответами:

Столкнулся с ошибкой пространства имен - C++
Столкнулся с такой ошибкой: error C2871: System: пространство имен с таким именем не существует. Стоит четвертый Framework. В нем проблема?

Область видимости, пространства имен - C++
имею макрос #define max(a,b) (((a) &gt; (b)) ? (a) : (b)) он определен в Windows.h, который мне нужен в проекте... также мне нужна...

Отличия пространства имен от структуры - C++
Есть ли разница между пространством имен и структурой? По-моему почти одно и то же

Неименованные пространства имен - разобрать код - C++
Всем доброго дня !!! При изучении темы неименованные пространства имен столкнулся с проблемой. Автор привел такой код. В...


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

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

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