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

Найти ошибку - C++

Восстановить пароль Регистрация
 
Xristos
2 / 2 / 2
Регистрация: 26.03.2016
Сообщений: 27
17.07.2016, 15:34     Найти ошибку #1
При запуске программа выдает окно с ошибкой.
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
#include <iostream>
#include <vector>
using namespace std;
struct Stach {
    int N;
    vector<char*> vector;
    int size;
    void initialize(int s) {
        size = s;
        N = 0;
 
    }
    int add(void * element){
        vector[N] = (char*)element;
        N++;
        return (N - 1);
    }
    void*s(int d) {
 
        return (void*)vector[d];
 
    }
 
 
 
 
};
int main() {
 
    int a = 78;
    int b = 9;
    int c = 0;
    Stach l;
    l.add(&a);
    l.add(&b);
    l.add(&c);
    cout << *((int*)l.s(0)) << endl;
    cout << *((int*)l.s(1)) << endl;
    cout << *((int *)l.s(2)) << endl;
 
 
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2016, 15:34     Найти ошибку
Посмотрите здесь:

найти ошибку... C++
C++ найти ошибку
Найти ошибку C++
Найти ошибку! C++
найти ошибку C++
найти ошибку? C++
найти ошибку в с++ C++
C++ Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ura_111
13 / 15 / 5
Регистрация: 21.05.2016
Сообщений: 48
17.07.2016, 15:55     Найти ошибку #2
Что должна делать add()?
shilko2013
 Аватар для shilko2013
238 / 215 / 116
Регистрация: 02.04.2016
Сообщений: 814
Завершенные тесты: 1
17.07.2016, 15:57     Найти ошибку #3
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
#include <iostream>
#include <vector>
using namespace std;
class Stack {
    vector<char> v;
public:
    Stack() {};
    void add(char c) {
        v.push_back(c);
    }
    char pop() {
        if (v.size > 0) {
            char a = v[v.size() - 1];
            v.pop_back();
            return a;
        }
        else
            cerr << "В стеке нет элементов!" << endl;
        return '0';
    }
};
int main() {
    
    Stack a;
    a.add('a');
    cout << a.pop();
 
    return 0;
}
Добавлено через 27 секунд
Элемента вектора и так находятся в динамической памяти, указатели не нужны
Yandex
Объявления
17.07.2016, 15:57     Найти ошибку
Ответ Создать тему
Опции темы

Текущее время: 07:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru