С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/89: Рейтинг темы: голосов - 89, средняя оценка - 4.90
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
1

Классы.Ключевое слово static - выдает ошибку "неразрешенный внешний символ"

09.04.2014, 00:39. Показов 17314. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток.
Изучаю С++ по Шпаку и по урокам на сайте
Кликните здесь для просмотра всего текста
cppstudio.com
, предварительно хорошо ознакомившись с ассемблером...
Со всеми темами прорываюсь вперед без особых затруднений, дошел до изучения классов, начали появляться вопросы, вот решил найти себе пристанище для ответов.
По первому же запросу в гугле попал сюда =)
Ну да ладно...вообщем плохо разобрался со статической переменной static, точней понимаю, что она создаётся один раз, содержит последнее, внесённое в неё значение... а дальше, работа с классами и оператором расширения области действия :: очень запутался...

На данный момент вот такая проблема.

Visual studio 2013 выдаёт такие ошибки.

Мои догадки:
-из-за того, что интерфейс и реализация в одном файле...
-из-за компилятора, вставляю стандартный код, который был приведён для примера, выдаёт такие же ошибки.


Ошибка 1 error LNK2001: неразрешенный внешний символ ""private: static int AB::a" (?a@AB@@0HA)" C:\Users\garjo\Documents\Visual Studio 2013\Projects\Проект68\Проект68\Исходный код.obj Проект68

Ошибка 2 error LNK2001: неразрешенный внешний символ ""private: static int AB::b" (?b@AB@@0HA)" C:\Users\garjo\Documents\Visual Studio 2013\Projects\Проект68\Проект68\Исходный код.obj Проект68


Ошибка 3 error LNK1120: неразрешенных внешних элементов: 2 C:\Users\garjo\Documents\Visual Studio 2013\Projects\Проект68\Debug\Проект68.exe Проект68
при компиляции этого кода
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
 
using namespace std;
 
class AB //создаём класс 
{
private:
    static int a;
    static int b;
 
public:
    AB()
    {
        a = 1;
        b = 1;
        cout << "Тут сработал конструктор" << endl;//и здесь же их отобразим на экран
        cout << "a = " << a << endl;
        cout << "b = " << b << endl << endl;
    }
 
    void setAB()
    {
        cout << "Введите целое число а: ";
        cin >> a;
        cout << "Введите целое число b: ";
        cin >> b;
    }
 
    void getAB()
    {
        cout << "a = " << a << endl;
        cout << "b = " << b << endl << endl;
    }
 
    /*~AB() // это деструктор. не будем заставлять его чистить память, пусть просто покажет где он сработал
    {
        cout << "Тут сработал деструктор" << endl;
        system("pause");
 
    }*/
};
 
int main()
{
    setlocale(LC_ALL, "rus");
 
    AB obj1; //сработал конструктор
 
    obj1.getAB(); //для явной проверки
    obj1.setAB();   //присвоим новые значения переменным
    obj1.getAB();   //и выведем их на экран
 
    AB obj2;
    obj2.getAB;
    obj2.setAB;
    obj2.getAB;
 
    system("pause");
    return 0;
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2014, 00:39
Ответы с готовыми решениями:

Не могу запустить программку компилятор выдаёт ошибку error LNK2019: ссылка на неразрешенный внешний символ
Прошу прощения за глупые вопросы но я новичок в програмировании .Вот моя программка и копия ошибки...

Выдает ошибку "ссылка на неразрешенный внешний символ _main"
Помогите пожалуйста решить проблему. Выдает ошибку error LNK2019: ссылка на неразрешенный внешний...

Ссылка на неразрешенный внешний символ (классы)
Доброе время суток! Не накрученный код, вроде бы все хорошо, но компилятор выдает ошибку: :...

Классы и методы, error LNK2001: неразрешенный внешний символ
пожалуста, посмотрите код, и скажите почему вылетает данная ошибка? // lab.k.kurs.cpp:...

23
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.04.2014, 11:59 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от garjo_099 Посмотреть сообщение
Можно объяснить почему без добавления функции get() не работало.
После ввода через cin >> в потоке остаётся '\n', его нужно убрать (get()), иначе gets_s() читает его первым и код идёт дальше, без остановки на ввод.

Добавлено через 3 минуты
И разберитесь с currentdate и ptrcurrentdate, а то там - не поймёшь что.
0
1 / 1 / 1
Регистрация: 08.04.2014
Сообщений: 31
10.04.2014, 12:17  [ТС] 22
alsav22, указатель для того, чтобы передавать его в функцию, но после присваивания значения строки, проверяю на вывод его, а там что попало.
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.04.2014, 12:42 23
Цитата Сообщение от garjo_099 Посмотреть сообщение
но после присваивания значения строки, проверяю на вывод его, а там что попало.
А что там должно быть, если читаете в currentdate, а выводите ptrcurrentdate? Сравниваете символы из currentdate, а в функцию передаёте ptrcurrentdate. Повторю:
Цитата Сообщение от alsav22 Посмотреть сообщение
И разберитесь с currentdate и ptrcurrentdate, а то там - не поймёшь что.
Добавлено через 17 минут
Цитата Сообщение от garjo_099 Посмотреть сообщение
Можно объяснить почему без добавления функции get() не работало.
Объяснил?
0
8 / 8 / 2
Регистрация: 21.11.2013
Сообщений: 22
11.04.2014, 00:56 24
Тут написано что за функция gmtime http://www.cplusplus.com/reference/ctime/gmtime/
а тут какие поля структуры tm http://www.cplusplus.com/reference/ctime/tm/
ну и сам пример в архиве
Вложения
Тип файла: rar date.rar (1.6 Кб, 8 просмотров)
0
11.04.2014, 00:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2014, 00:56
Помогаю со студенческими работами здесь

Помогите устранить ошибку: ссылка на неразрешенный внешний символ
Здравствуйте! Помогите бьет ошибку: error LNK2019: ссылка на неразрешенный внешний символ...

Исправить ошибку LNK2019: ссылка на неразрешенный внешний символ (InternetCheckConnection и WinAPI)
Создаю простенькое приложение на winapi с кнопкой и полем edit, по нажатию на которую происходит...

Компилятор выдает ошибку, LNK2019 ссылка на неразрешенный внешний символ
Программа не запускается, где-то ошибка не могу понять где. Помогите найти! Файлы из программы вот...

Не могу исправить ошибку средства Link: ссылка на неразрешенный внешний символ
Помогите, пожалуйста разобраться. Сам пытался понять, не смог. Главное, что, когда компилируешь...

Ссылка на неразрешенный внешний символ, неразрешенный внешний элемент
В программировании новичок, знакомство с подпрограммами. Помогите понять, в чем ошибка. Программа...

Шаблонные классы и ошибка линковки "Ссылка на неразрешенный внешний символ"
Здравствуйте Не первый раз сталкиваюсь с такой проблемой: допустим, хочу реализовать односвязный...

Есть проблема, при запуску программы выдают вот такую ошибку: ссылка на неразрешенный внешний символ "int
#include &quot;iostream&quot; using namespace std; int day, month, year; int GetMonthMax(int month); int...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru