Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 13
1

Ошибка "Точка входа должна быть определена"

26.05.2018, 14:39. Показов 1812. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание
Для динамической структуры данных разработать класс, предусмотрев в нем конструкторы инициализации,копирования,перемещения, деструктор, функции вставки и удаления элемента, просмотра доступного элемента и функцию, проверяющую наличие элементов.Перегрузить операции присваивания, присваивание с перемещением, потокового вывода для вывода содержимого динамической структуры на экран.

Вроде все сделала, однако он пишет, что "Точка входа должна быть определена" и я застопорилась, теперь туплю. Нужно написать main или что?

3 файла:

Queue.h:

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
#pragma once
#include"iostream"
#include"conio.h"
using namespace std;
 
class Qu
{
    int *arr;
    int count;
    int start = 0, end = 0, size = 0;
 
public:
    Qu(int count); //инициализация
    Qu(const Qu&other);//копировать
    Qu(Qu&&other);//переместить
    Qu&operator=(const Qu&other);//присвоить
    Qu&operator=(Qu&&other);//присвоить перемещением
    ~Qu();//деструктор
    int GetSize();
    void Push(int element);//Добавление
    int Pop();//Удаление
    int Peek();//Просмотр
    bool Check();//Проверить наличие
    friend ostream& operator << (ostream&stream, const Qu&a); //Вывести
};
Queue.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
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include"Queue.h"
#include"iostream"
#include"conio.h"
using namespace std;
 
Qu::Qu(int count)
{
    arr = new int[count];
}
 
Qu::~Qu()
{
    delete[] arr;
}
 
Qu::Qu(const Qu &other)
{
    arr = new int[other.count];
    count = other.count;
    end = other.end;
    start = other.start;
    size = other.size;
    for (int i = 0; i < count; ++i)
    {
        arr[i] = other.arr[i];
    }
}
 
Qu &Qu::operator=(const Qu &other)
{
    if (this == &other)
    {
        return *this;
    }
    delete[] arr;
    arr = new int[other.count];
    count = other.count;
    for (int i = 0; i < count; ++i)
    {
        arr[i] = other.arr[i];
    }
}
 
Qu &Qu::operator=(Qu &&other)
{
    if (this == &other)
    {
        return *this;
    }
    delete[] arr;
    arr = other.arr;
    count = other.count;
    other.arr = nullptr;
}
 
Qu::Qu(Qu &&other)
{
    arr = other.arr;
    count = other.count;
    other.arr = nullptr;
}
 
int Qu::GetSize()
{
    return this->size;
}
 
int Qu::Pop()
{
    if (size > 0)
    {
        int element = arr[start];
        start = (start + 1) % count;
        size--;
        return element;
    }
    return 0;
}
 
int Qu::Peek()
{
    return arr[start];
}
 
bool Qu::Check()
{
    return (size > 0);
}
 
void Qu::Push(int element)
{
    if (size < count)
    {
        arr[end] = element;
        end = (end + 1) % count;
        size++;
    }
}
 
ostream& operator << (ostream&stream, const Qu&a)
{
    Qu b = a;
    stream << "=====\n";
    for (int i = 0; i <b.count; i++)
    {
        stream << "| " << b.Pop() << "\n";
    }
    stream << "=====\n";
    return stream;
}
QueueTemp.h

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#pragma once
#include"iostream"
#include"conio.h"
using namespace std;
 
template<typename T>
class QuTemp
{
    T *arr;
int count;
int end = 0, start = 0, size = 0;
 
public:
    QuTemp(int count); 
    QuTemp(const QuTemp &other);  
    QuTemp (QuTemp &&other); 
    QuTemp&operator=(const QuTemp &other); 
    QuTemp&operator=(QuTemp &&other); 
    ~QuTemp(); 
    int GetSize();
    void Push(T element); 
    T Pop(); 
    T Peek(); 
    bool Check(); 
    friend ostream& operator << (ostream&stream, const QuTemp<T>&a) 
};
 
template<typename T>
QuTemp<T>::QuTemp(int count)
    :count(count)
{
    arr = new T[count]
}
 
template<typename T>
QuTemp<T>::~QuTemp()
{
    delete[] arr;
}
 
template<typename T>
QuTemp<T>::QuTemp(const QuTemp&other)
{
    arr = new T[other.count];
    count = other.count;
    end = other.end;
    start = other.start;
    size = other.size;
    for (int i = 0; i < count; ++i)
    {
        arr[i] = other.arr[i];
    }
}
 
template<typename T>
QuTemp<T>&QuTemp<T>::operator=(const QuTemp&other)
{
    if (this == &other)
    {
        return *this;
    }
    delete[] arr;
    arr = new T[other.count];
    count = other.count;
    for (int i = 0; i < count; ++i)
    {
        arr[i] = other.arr[i];
    }
}
 
template<typename T>
QuTemp<T>&QuTemp<T>::operator=(QuTemp&&other)
{
    if (this == &other)
    {
        return *this;
    }
    delete[] arr;
    arr = other.arr;
    count = other.count;
    other.arr = nullptr;
}
 
template<typename T>
QuTemp<T>::QuTemp(QuTemp&&other)
{
    arr = other.arr;
    count = other.count;
    other.arr = nullptr;
}
 
template<typename T>
int QuTemp<T>::GetSize()
{
    return this->size;
}
 
template<typename T>
void QuTemp<T>::Push(T element)
{
    if (size < count)
    {
        arr[end] = element;
        end = (end + 1) % count;
        size++;
    }
}
 
template<typename T>
QuTemp<T>::Pop()
{
    if (size > 0)
    {
        T element = arr[start];
        start = (start + 1) % count;
        size--;
        return element;
    }
    return 0;
}
 
template<typename T>
QuTemp<T>::Peek()
{
    return arr[start];
}
 
template<typename T>
bool QuTemp<T>::Check()
{
    return (size > 0);
}
 
template<typename T>
ostream& operator << (ostream&stream, const QuTemp<T>&a)
{
    QuTemp<T> b = a;
    stream << "=====\n";
    for (int i = 0; i <b.count; i++)
    {
        stream << "| " << b.Pop() << "\n";
    }
    stream << "=====\n";
    return stream;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2018, 14:39
Ответы с готовыми решениями:

Ошибка fatal error LNK1561: точка входа должна быть определена
пробовал добавить библиотеку stdafx.h и менял тип main с void на int не помогает .... подскажите ...

ошибка:1>LINK : fatal error LNK1561: точка входа должна быть определена
вот текст программы: #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; #include...

Точка входа должна быть определена
Доброго времени суток! Ошибка: точка входа должна быть определена. Функция main есть, тогда...

Точка входа должна быть определена
Всем привет. На YouTube нашел видео. Стало интересно. Там был приложен файл исходного кода .срр. ...

Точка входа должна быть определена
Всем привет ,заранее прошу прощения за тему ,которая уже поднималась ,но вот возникла ошибка , ...

7
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
26.05.2018, 14:42 2
LonelyOwlet, любая программа C++ имеет единственную точку входа, эта функция
C++
1
2
3
4
int main()
{
    return 0;
}
Добавлено через 31 секунду
по ходу дела у тебя ее в проекте нет
0
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
26.05.2018, 14:42 3
Где точка входа, т.е. функция main()?
0
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 13
28.05.2018, 17:02  [ТС] 4
Я сделала, но он ругается на E0519 - class "Qu" не может содержать список аргументов шаблона

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include"Queue.h"
#include"iostream"
#include"conio.h"
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Rus");
    Qu <int> queue;
 
    for (int i = 1; i < 5; i++)
        queue.Push((int)(i + 2));
 
    cout << queue << "\n";
    cout << queue.Pop() << "\n";
 
    for (int i = 1; i < 5; ++i)
        queue.Push((int)(i + 1));
    cout << queue << "\n";
    system("pause");
}
0
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
28.05.2018, 17:12 5
LonelyOwlet, а у тебя класс ку есть?

Добавлено через 1 минуту
он вроде как QuTemp называется
0
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 13
28.05.2018, 17:26  [ТС] 6
Есть, но я сейчас переделала слегка
E0291 для класса "QuTemp<double>" не существует конструктор по умолчанию жалуется

Короче, я запуталась

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include"Queue.h"
#include"QueueTemp.h"
#include"iostream"
#include"conio.h"
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Rus");
    QuTemp <double> queue;
 
    for (int i = 1; i < 5; i++)
        queue.Push((int)(i + 2));
 
    cout << queue << "\n";
    cout << queue.Pop() << "\n";
 
    for (int i = 1; i < 5; ++i)
        queue.Push((int)(i + 1));
    cout << queue << "\n";
    system("pause");
}
0
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
28.05.2018, 17:37 7
Лучший ответ Сообщение было отмечено LonelyOwlet как решение

Решение

LonelyOwlet, конструктор по умолчанию, это конструктор без параметров у тебя в классе нет такого, у тебя есть
только Qu(int count); //инициализация , так что нужно вот так писать
C++
1
QuTemp <double> queue(0);
ноль замени на нужный параметр.
0
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 13
28.05.2018, 17:58  [ТС] 8
Спасибо, заработало!
0
28.05.2018, 17:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2018, 17:58
Помогаю со студенческими работами здесь

Точка входа должна быть определена
Так как тупая проблема, спрашиваю в форуме для новичков. Я понимаю что смысл проблемы в том что нет...

Точка входа должна быть определена
#include &lt;iostream&gt; using namespace std; template&lt;class T&gt; T min2(T a,T b) { return a&lt;b? a:...

Error Точка входа должна быть определена
выводит такую ошибку, что делать? вот код #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Однотипная ошибка:"Точка входа должна быть определена"
Доброго времени суток. В общем всё перепробовал разобраться сам но не выходит и чего-то я взять в...

Ошибка компиляции "LINK : fatal error LNK1561: точка входа должна быть определена"
Подскажите пожалуйста где ошибка. При компиляции выдает LINK : fatal error LNK1561: точка входа...


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

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