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

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

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

Ошибка с статическими членами класса - C++

31.01.2013, 01:53. Просмотров 321. Ответов 3
Метки нет (Все метки)

Доброго времени суток, форумчане!
Недавно пришлось вернуться с С# на С++ и я тут же заметил что я все забыл(
Итак по сути:

Есть определение класса:
C++
1
2
3
4
5
6
7
8
9
10
11
static class control
 {
    public:
       static double u0;
       static double* t;
       static double* u;
       static int N;
       static int ceruv;
           static double contr(double x);
           static void create_control();
 };
Приведено реализацию функции create_control():
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
void control::create_control()
{
   N = 10;
   u0 = 2;
   ceruv = 2;
   t = new double[N];
   u = new double[N];
   double cher;
   for (int i = 0; i < N / 2.0; i++)
            {
                cher = rand()*1.0/RAND_MAX;
                if (cher <= 0.5)
                    u[2 * i] = u0;
                else
                    u[2 * i] = -u0;
            }
            for (int i = 0; i < N / 2.0; i++)
            {
                u[2 * i + 1] = 0;
            }
        t[0] = 0;
            
                for (int i = 1; i < N; i++)
                    if ((i / 2.0)-int(i / 2.0) == i / 2.0)
                       t[i] = t[i - 1] + 1 + 0.5 * rand()*1.0/RAND_MAX;
                    else t[i] = t[i - 1] + 20 + 5 * rand()*1.0/RAND_MAX;
                    
}
Компилятор Visual C++ 2010 ругается следующим образом:
Error 2 error LNK2001: unresolved external symbol "public: static double * control::u" (?u@control@@2PANA)
Error 3 error LNK2001: unresolved external symbol "public: static double * control::t" (?t@control@@2PANA)
Error 4 error LNK2001: unresolved external symbol "public: static int control::ceruv" (?ceruv@control@@2HA)
Error 5 error LNK2001: unresolved external symbol "public: static double control::u0" (?u0@control@@2NA)
Error 6 error LNK2001: unresolved external symbol "public: static int control::N" (?N@control@@2HA)
Error 7 error LNK1120: 5 unresolved externals

Пожалуйста почему и главное на что он ругается. Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2013, 01:53     Ошибка с статическими членами класса
Посмотрите здесь:

Класс со статическими членами - C++
Создать класс Alfa таким образом , чтоб при создании первого и уничтожении последнего объекта этого типа на экран выводились...

Непонятки со статическими полями класса - C++
Обязательно ли инициализировать статическую константу в определении класса? Можно ли ее определить вне области определения класса? А...

Объявление класса с открытыми членами. - C++
Всем привет! Уважаемые, не проясните ситуацию? В чем здесь ошибка? :)

Шаблон класса вектор с двумя членами-данными - C++
Здравствуйте Уважаемые. Нужна Ваша помощь в реализации программы: Построить шаблон класса Vector. Определите класс Record (запись) с...

Как вывести элементы вектора, являющиеся членами класса? - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;cstdio&gt; using namespace std; typedef struct moment{ int h,m,s; ...

Почему перегруженные операторы ввода/вывода нельзя сделать членами класса? - C++
Добрый вечер, Решаю домашнее задание, и вот вопрос возник. Создал класс и перегрузил ввода/вывод. Но не нашел информации почему...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
31.01.2013, 01:58     Ошибка с статическими членами класса #2
В одном из .cpp файлов:
C++
1
2
3
4
5
double control::u0;
double* control::t;
double* control::u;
int control::N;
int control::ceruv;
parhom9408
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 12
31.01.2013, 02:07  [ТС]     Ошибка с статическими членами класса #3
В каком именно?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 02:14     Ошибка с статическими членами класса
Еще ссылки по теме:

Ошибка при работе с объектом класса в конструкторе другого класса - C++
Имеется данный код: https://github.com/ubelian/glgame/tree/master/glgame В файле Food.cpp в конструкторе класса Food::Food() на 19...

Ошибка при вызове метода класса в методе другого класса - C++
Господа программисты, возникла такая проблема. При вызове метода класса в методе другого класса выходит такая ошибка &quot; нестандартный...

Магия со статическими массивами - C++
Предисловие: на форуме подняли топик http://www.cyberforum.ru/cpp-beginners/thread1065365.html , в голове сразу мелькнула мысль...

Процедура с двумя статическими массивами - C++
Доброго времени суток всем. Прошу совета, необходимо реализовать на С++ процедурно присвоение элементам одного массива - элементов...


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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
31.01.2013, 02:14     Ошибка с статическими членами класса #4
Цитата Сообщение от parhom9408 Посмотреть сообщение
В каком именно?
в любом cpp, где объявлен control.
А лучше в том, где находится реализация класса
Yandex
Объявления
31.01.2013, 02:14     Ошибка с статическими членами класса
Ответ Создать тему
Опции темы

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