Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22

Почему выскакивает ошибка In instantiation of 'void stack_t<T>::println() const [with T = int]': - строка 165?

24.02.2019, 08:49. Показов 2462. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ошибка:
In instantiation of 'void stack_t<T>:rintln() const [with T = int]': - строка 165
Почему она пропадает, если поставить const после print у stack_t<T>?

Кликните здесь для просмотра всего текста
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
#include <iostream>
#include <stdexcept>
#include <vector>
 
using namespace std;
 
// Узел стека.
template<typename T>
class node_t
{
private:
    void init(T value, node_t<T>* ptr_next)
    {
        this->value = value;
        this->ptr_next = ptr_next;
    }
    
public:
    T value;
    node_t<T>* ptr_next;
    
    node_t()
    {
        init(0, NULL);
    }
    
    node_t(T value, node_t<T>* ptr_next)
    {
        init(value, ptr_next);
    }
    
    node_t(const node_t<T>& target)
    {
        init(target->value, target->ptr_next);
    }
    
    ~node_t()
    {
        delete this;
    }
    
    // Выводит данные узла.
    void print() const
    {
        cout << value;
    }
    
    // Выводит данные узла и переходит на новую строку.
    void println() const
    {
        print();
        cout << endl;
    }
};
 
// Стек.
template<typename T>
class stack_t
{
private:
    node_t<T>* ptr_head;
    int count;
 
    void init()
    {
        ptr_head = NULL;
        count = 0;
    }
    
    void throw_if_empty() const
    {
        if (count == 0)
            throw out_of_range("count был равен 0");
    }
 
public:
    // Возвращает количество элементов стека.
    int get_count() const
    {
        return count;
    }
    
    stack_t()
    {
        init();
    }
    
    stack_t(int count, T* array)
    {
        init();
        T* ptr_current = array;
        for (int i = 0; i < count; i++)
        {
            push(*ptr_current);
            ptr_current++;
        }
    }
    
    stack_t(vector<T>* vector)
    {
        init();
        for (int i = 0; i < vector->count(); i++)
            push(vector[i]);
    }
    
    ~stack_t()
    {
        delete ptr_head;
    }
    
    // Вставляет указанный элемент в стек.
    void push(T item)
    {
        ptr_head = new node_t<T>(item, ptr_head);
        count++;
    }
    
    // Возвращает верхний элемент стека.
    T pop()
    {
        throw_if_empty();   
        T resultItem = ptr_head->value;
        node_t<T>* ptr_to_remove = ptr_head;
        ptr_head = ptr_head->next_ptr;
        delete ptr_to_remove;
        count--;
        return resultItem;
    }
    
    // Возвращает верхний элемент стека.
    T peek()
    {
        throw_if_empty();
        return ptr_head->value;
    }
    
    // Очищает стек.
    void clear()
    {
        node_t<T>* ptr_current = ptr_head;
        while (ptr_current)
        {
            node_t<T>* ptr_to_remove = ptr_current;
            ptr_current = ptr_current->ptr_next;
            delete ptr_to_remove;
        }
    }
    
    // Выводит данные стека.
    void print() //const // С const той ошибки нет.
    {
        node_t<T>* ptr_current = ptr_head;
        while (ptr_current)
        {
            ptr_current->print();
            if (ptr_current->ptr_next)
                cout << ", ";
            ptr_current = ptr_current->ptr_next;
        }
    }
    
    // Выводит данные стека и переходит на новую строку.
    void println() const
    {
        print();
        cout << endl;
    }
};
 
int main(int argc, char** argv)
{
    stack_t<int>* s = new stack_t<int>(5, new int[5] { 1, 2, 3, 4, 5 });
    s->println();
    delete s;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.02.2019, 08:49
Ответы с готовыми решениями:

int const * const foo(const int* param) const - разъясните значение квалификаторов
int const * const foo(const int* param) const -----1------2----------3----------------4 1: ? 2: делает содержимое массива или...

Ошибка при компиляции error: cannot convert ‘int (*)[5]’ to ‘int**’ for argument ‘1’ to ‘void Replase(int**)'
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; #define row 5 #define col 5 using namespace...

error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'
Что означает ошибка в 8 строчке error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'? ...

49
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
24.02.2019, 14:03  [ТС]
Студворк — интернет-сервис помощи студентам
Мдэ... Подправил код и выводиться перестало совсем. Главное - я не вижу ошибки в коде.
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
#include <iostream>
#include <stdexcept>
#include <vector>
#include <assert.h>
 
using namespace std;
 
// Узел односвязного списка.
template<typename T>
class node
{
private:
    T value;
    node<T>* next;
    
    // Инициализатор объекта.
    void init(T value, node<T>* next)
    {
        this->value = value;
        this->next = next;
    }
    
public:
    // Возвращает значение value.
    T get_value() const
    {
        return value;
    }
    
    // Устанавливает значение value.
    void set_value(T value)
    {
        this->value = value;
    }
    
    // Возвращает значение next.
    node<T>* get_next() const
    {
        return next;
    }
    
    // Устанавливает значение next.
    void set_next(node<T>* value)
    {
        next = value;
    }
    
    node(T value, node<T>* next = NULL)
    {
        init(value, next);
    }
    
    node(const node<T>* target)
    {
        init(target->get_value(), target->get_next());
    }
    
    ~node()
    {
    }
    
    // Выводит строковое представление объекта.
    void print() const
    {
        cout << value;
    }
    
    // Выводит строковое представление объекта и переходит на новую строку.
    void println() const
    {
        println();
        cout << endl;
    }
};
 
// Стек.
template<typename T>
class stack
{
private:
    node<T>* head;
    int count;
    
    void init()
    {
        head = NULL;
        count = 0;
    }
    
    void throw_if_empty(int count)
    {
        assert(count >= 0);
    }
    
public:
    // Возвращает значение count.
    int get_count() const
    {
        return count;
    }
    
    stack()
    {
        init();
    }
    
    stack(int count, T* sequence)
    {
        assert(count >= 0);
        assert(sequence != NULL);
        init();
        T* current = sequence;
        for (int i = 0; i < count; i++)
        {
            push(*current);
            current++;
        }
    }
    
    stack(const vector<T>* vector)
    {
        vector(vector != NULL);
        init();
        for (int i = 0; i < vector->size(); i++)
            push(vector[i]);
    }
    
    ~stack()
    {
        node<T>* current = head; // Вынести в clear();
        while (current)
        {
            node<T>* to_remove = current;
            current = current->get_next();
            delete to_remove;
        }
        init();
    }
    
    // Вставляет элемент в стек.
    void push(T item)
    {
        head = new node<T>(item, head);
        count++;
    }
    
    // Удаляет и возвращает удалённый элемент из стека.
    T pop()
    {
        throw_if_empty();
        node<T>* to_remove = head;
        T result_item = head->get_value();
        head = head->get_next();
        delete to_remove;
        count--;
        return result_item;
    }
    
    // Возвращает элемент на вершине стека.
    T peek() const
    {
        throw_if_empty();
        return head->get_value();
    }
    
    // Выводит строковое представление объекта.
    void print() const
    {
        node<T>* current = head;
        cout << "[";
        while (current)
        {
            cout << current->print();
            if (current->get_next())
                cout << ", ";
            current = current->get_next();
        }
        cout << "]";
    }
    
    // Выводит строковое представление объекта и переходит на новую строку.
    void println() const
    {
        println();
        cout << endl;
    }
};
 
int main(int argc, char** argv)
{
    int* a = new int[3] { 1, 2, 3 };
    stack<int>* s = new stack<int>(3, a);
    s->println();
    delete[] a;
    delete s;
    return 0;
}
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
24.02.2019, 14:13
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
void println() const
* * {
* * * * println();
* * * * cout << endl;
* * }
Рекурсия.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
24.02.2019, 14:15
zayats80888, посмотри пожалуйста почему не работает твой способ
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
#include <iostream>
#include <stdexcept>
 
using namespace std;
 
template<typename T>
class node_t
{
private:
    void init(T value, node_t<T>* ptr_next)
    {
        this->value = value; //***
        this->ptr_next = ptr_next; //***
    }
    
public:
    T value;
    node_t<T>* ptr_next;
    
    node_t()
    {
        init(0, NULL);
    }
    
    node_t(T value, node_t<T>* ptr_next)
    {
        init(value, ptr_next);
    }
    
    node_t(const node_t<T>& target)
    {
        init(target->value, target->ptr_next);
    }
    
    ~node_t()
    {
        std::cout << "~node_t()" << value
            << std::endl;
        //delete ptr_next;
    }
    
    void print()
    {
        cout << value;
    }
    
    void Delete()
    {
        if (ptr_next)
            delete ptr_next;
    }
};
 
template<typename T>
class stack_t
{
private:
    node_t<T>* ptr_head;
    int count;
 
    void init()
    {
        ptr_head = NULL;
        count = 0;
    }
 
public:
    int get_count()
    {
        return count;
    }
    
    stack_t()
    {
        init();
    }
    
    void push(T item)
    {
        ptr_head = new node_t<T>(item, ptr_head); // <-- Тут expected type-specifier before 'ptr_head'
        count++;
    }
    
    T pop()
    {
        //throw_if_empty();   
        T resultItem = ptr_head->value;
        node_t<T>* ptr_to_remove = ptr_head;
        ptr_head = ptr_head->ptr_next;
        ptr_to_remove->ptr_next=0; //вот так вот
        delete ptr_to_remove;
        count--;
        return resultItem;
    }
    void clear()
    {
        delete ptr_head; //вот так вот
    }
    ~stack_t()
    {
        clear();
    }
 
};
 
int main(int argc, char** argv)
{
    {stack_t<int> t;
 
    t.push(1);
    t.push(2);
    t.push(3);
 
    int i = t.pop();
 
    //t.Delete();
    }
 
    return 0;
}
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
24.02.2019, 14:16  [ТС]
0x10, аа...

Добавлено через 1 минуту
Хорошо, что заранее начал практиковать C++... Хотя бы это радует...
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
24.02.2019, 14:36
у меня работает, тока вот это исправил:
C++
1
2
3
4
5
6
~node_t()
    {
        std::cout << "~node_t()" << value
            << std::endl;
        Delete();
    }
1
24.02.2019, 14:43

Не по теме:

---(все нормально там было)

0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
24.02.2019, 14:44  [ТС]
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
#include <iostream>
#include <stdexcept>
#include <vector>
#include <assert.h>
 
using namespace std;
 
// Óçåë îäíîñâÿçíîãî ñïèñêà.
template<typename T>
class node
{
private:
    T value;
    node<T>* next;
    
    void init(T value, node<T>* next)
    {
        this->value = value;
        this->next = next;
    }
    
public:
    // Âîçâðàùàåò çíà÷åíèå value.
    T get_value() const
    {
        return value;
    }
    
    // Óñòàíàâëèâàåò çíà÷åíèå value.
    void set_value(T value)
    {
        this->value = value;
    }
    
    // Âîçâðàùàåò çíà÷åíèå next.
    node<T>* get_next() const
    {
        return next;
    }
    
    // Óñòàíàâëèâàåò çíà÷åíèå next.
    void set_next(node<T>* value)
    {
        next = value;
    }
    
    node(T value, node<T>* next = NULL)
    {
        init(value, next);
    }
    
    node(const node<T>& target)
    {
        init(target.get_value(), target.get_next());
    }
    
    ~node()
    {
    }
    
    // Âûâîäèò ñòðîêîâîå ïðåäñòàâëåíèå îáúåêòà.
    void print() const
    {
        cout << value;
    }
    
    // Âûâîäèò ñòðîêîâîå ïðåäñòàâëåíèå îáúåêòà è ïåðåõîäèò íà íîâóþ ñòðîêó.
    void println() const
    {
        println();
        cout << endl;
    }
};
 
// Ñòåê.
template<typename T>
class stack
{
private:
    node<T>* head;
    int count;
    
    void init()
    {
        head = NULL;
        count = 0;
    }
    
    void throw_if_empty(int count)
    {
        assert(count >= 0);
    }
    
public:
    // Âîçâðàùàåò çíà÷åíèå count.
    int get_count() const
    {
        return count;
    }
    
    stack()
    {
        init();
    }
    
    stack(int count, T* sequence)
    {
        assert(count >= 0);
        assert(sequence != NULL);
        init();
        T* current = sequence;
        for (int i = 0; i < count; i++)
        {
            push(*current);
            current++;
        }
    }
    
    stack(const vector<T>& vector)
    {
        init();
        vector(vector != NULL);
        for (int i = 0; i < vector->size(); i++)
            push(vector[i]);
    }
    
    ~stack()
    {
        clear();
    }
    
    // Âñòàâëÿåò ýëåìåíò â ñòåê.
    void push(T item)
    {
        head = new node<T>(item, head);
        count++;
    }
    
    // Óäàëÿåò è âîçâðàùàåò óäàë¸ííûé ýëåìåíò èç ñòåêà.
    T pop()
    {
        throw_if_empty();
        node<T>* to_remove = head;
        T result_item = head->get_value();
        head = head->get_next();
        delete to_remove;
        count--;
        return result_item;
    }
    
    // Âîçâðàùàåò ýëåìåíò íà âåðøèíå ñòåêà.
    T peek() const
    {
        throw_if_empty();
        return head->get_value();
    }
    
    // Î÷èùàåò ñòåê.
    void clear()
    {
        node<T>* current = head;
        while (current)
        {
            node<T>* to_remove = current;
            current = current->get_next();
            delete to_remove;
        }
        init();
    }
    
    // Âûâîäèò ñòðîêîâîå ïðåäñòàâëåíèå îáúåêòà.
    void print() const
    {
        node<T>* current = head;
        cout << "[";
        while (current)
        {
            current->print();
            if (current->get_next())
                cout << ", ";
            current = current->get_next();
        }
        cout << "]";
    }
    
    // Âûâîäèò ñòðîêîâîå ïðåäñòàâëåíèå îáúåêòà è ïåðåõîäèò íà íîâóþ ñòðîêó.
    void println() const
    {
        print();
        cout << endl;
    }
    
    void operator +=(const T& item)
    {
        push(item);
    }
};
 
int main(int argc, char** argv)
{
    stack<int>* s = new stack<int>();
    for (int i = 0; i < 10; i++)
        s += i;
    s->println();
    delete s;
    return 0;
}
И ещё. Почему не работает +=?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
24.02.2019, 14:47
Цитата Сообщение от _stanislav Посмотреть сообщение
//ptr_to_remove->ptr_next=0; //тогда это строка лишняя
Нет, как раз она и разрушает связь элемента со списком, иначе pop() очищает стек
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
24.02.2019, 14:48  [ТС]
А вот так:
C++
1
s->operator+=(i);
Работает.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
24.02.2019, 14:49
Цитата Сообщение от zayats80888 Посмотреть сообщение
Нет, как раз она и разрушает связь элемента со списком, иначе pop() очищает стек
я имел ввиду вот это, сори ошибся
C++
1
2
3
4
5
6
7
    ~node_t()
    {
        std::cout << "~node_t()" << value
            << std::endl;
        //if (ptr_next) // избыточно
            delete ptr_next;
    }
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
24.02.2019, 14:53
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
И ещё. Почему не работает +=?
потому что нужно перегрузить этот оператор, твой стек это не массив объектов stack_t, а объект с динамическим списком, в твоем коде ты прыгаешь на адрес s+sizeof(stack<int>)
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
24.02.2019, 14:55  [ТС]
Создал отдельную тему. В этой слишком много всего.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
24.02.2019, 14:56
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
И ещё. Почему не работает +=?
Здесь
Цитата Сообщение от Соколиный глаз Посмотреть сообщение
stack<int>* s = new stack<int>();
* * for (int i = 0; i < 10; i++)
* * * * s += i
Тип s — указатель на стек. Как сказали выше, оператор += сдвигает указатель s на sizeof(stack<int>) байт.
А я еще раз повторю: не нужно использовать динамическое выделение памяти без необходимости.
C++
1
2
3
4
5
6
7
int main(int argc, char** argv)
{
    stack<int> s;
    for (int i = 0; i < 10; i++)
        s += i;
    s.println();
}
1
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
24.02.2019, 14:56
_stanislav, ну я только изучаю С++, может и избыточно но меня учили проверять валидность указателя перед очисткой памяти, мало ли для какой машины программу пишешь, а то удалить вектора прерываний можно ненароком
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
24.02.2019, 15:03
Цитата Сообщение от zayats80888 Посмотреть сообщение
меня учили проверять валидность указателя перед очисткой памяти
И как ее проверить?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
24.02.2019, 15:06
Цитата Сообщение от 0x10 Посмотреть сообщение
И как ее проверить?
ну я имею ввиду проверку, указывает он на что-то или нет(если NULL), а так то валидность указателя вещь неопределенная
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
24.02.2019, 15:10
Цитата Сообщение от zayats80888 Посмотреть сообщение
ну я имею ввиду проверку, указывает он на что-то или нет(если NULL), а так то валидность указателя вещь неопределенная
в delete есть проверка такая.

Добавлено через 21 секунду
это вроде как по стандарту
1
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
24.02.2019, 15:10
Цитата Сообщение от zayats80888 Посмотреть сообщение
ну я имею ввиду проверку, указывает он на что-то или нет(если NULL)
Как сказали выше — избыточно.
§8.3.5/2
[…] the value of the operand of delete may be a null pointer value […]
1
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
24.02.2019, 15:11
Цитата Сообщение от _stanislav Посмотреть сообщение
это вроде как по стандарту
как я и сказал, я только изучаю C++, если так, спасибо, буду знать
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
24.02.2019, 15:12
Цитата Сообщение от zayats80888 Посмотреть сообщение
ну я имею ввиду проверку, указывает он на что-то или нет(если NULL), а так то валидность указателя вещь неопределенная
если связка malloc / free, то да
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.02.2019, 15:12
Помогаю со студенческими работами здесь

Ошибка: Сannot convert const QVector<int> to int...
Доброго дня! Столкнулся вот с такой ошибкой int max; QList&lt;QVector&lt;int&gt; &gt;* Data_to_plot ; Data_to_plot = Data; max =...

ОШИБКА [Error] cannot convert 'int*' to 'float*' for argument '1' to 'void Syma(float*,int*,int)
Какая то проблема с указателями,незнаю,не хочет щитать суму парних чисел в второй подпрограме.Извиниет за ошибки.Не владею руским.Помогите...

Ошибка Cannot convert 'const char *' to 'void *'
Всем привет! Нужна помощь новичку. Пытаюсь в С++ Builder 2009 создать простую программу для библиотеки без использования базы данных....

int const и const int в чем разница этих записей
Попалась мне тут программа для выборочно сортировки, с ней все в принципе ясно, но я в ней встретил записи, которые раньше не встречал,...

Чем отличаются выражения (const int[]){value} от (const int[]){100}
(const int){22} //Приведение к массиву и инициализация его значениями 22 от (const int){i} //Приведение к массиву и инициализация его...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru