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

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

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

Точки останова вечно вылезают - C++

31.05.2014, 13:59. Просмотров 355. Ответов 7
Метки нет (Все метки)

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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <clocale>
 
 
using namespace std;
 
class Array
{
private: 
    int number;
    double *array;
 
    void createArr()
    {
        array = new double[];
    }
 
public:
    Array()
    {
        createArr();
 
        number = rand()%10;
        
        for (int i = 0; i < number; i++)
        {
            array[i] = rand()%100;
        }
    }
 
    Array(int number)
    {
        createArr();
 
        cout << "Веддiть " << number << " елементiв масиву" << endl << endl;
 
        for (int i = 0; i < number; i++)
        {
            cout << "A[" << i << "] = ";
            cin >> array[i];
        }
    }
};
 
void main()
{
    setlocale(LC_CTYPE, "ukr");
 
    Array arr(5);
 
    system("pause");
}
Есть у меня такой код, компилируется нормально, но в консоли, когда после введения 5-го (последнего элемента) нажимаю Ентер, выводит ошибку о срабатывании точки останова, хотя я никаких точек останова не задавал. Я уже и Визуал Студио переустанавливал, ничего не помогает.
Подскажите пожалуйста, люди добрые.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2014, 13:59     Точки останова вечно вылезают
Посмотрите здесь:

Вызывание точки останова - C++
Ввести целое число N. Выделить из этого числа цифры, кратные m, и записать их в одномерный массив.-Условие задачи. Ниже моё...

Вызов точки останова во время выхода (первые шаги в классах C++) - C++
Парни! Такая проблема: вылетает в конце, когда завершаю работу программы. Суть программы: есть класс продукт, в нём три переменные и три...

" *.exe вызвал срабатывание точки останова " при закрытии консоли - C++
Здравствуйте, уважаемые. Есть задание: Сделать &quot;гибкий&quot; массив на основе возрастающего динамического массива(то есть, все элементы в...

Вылетает "Вызвал срабатывание точки останова" после закрытия консоли - C++
Есть такая задача: нужно вводить массив, пока не введешь число,отличающейся знаком, относительно первого элемента(с этой задачей я...

Delete [] "вызвал срабатывание точки останова" - C++
Всем привет. Стоит следующая задача на ЛР - создать функцию, которая дописывает одну строку в конец другой. Примечание: строки...

".exe вызвал срабатывание точки останова." - C++
перечитал уже все похожие сообщения на форуме ничего к моему случаю не подходит. Есть такие вот структуры: struct InfoData { ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jewbacabra
Эксперт PHP
2168 / 1832 / 679
Регистрация: 24.04.2014
Сообщений: 5,331
31.05.2014, 14:02     Точки останова вечно вылезают #2
память надо выделить под array, но правильно а не так как у тебя
Pjeroo
Землянин
34 / 34 / 12
Регистрация: 15.01.2013
Сообщений: 313
31.05.2014, 14:06     Точки останова вечно вылезают #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
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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <clocale>
 
 
using namespace std;
 
class Array
{
private: 
    int number;
    double *array;
 
    void createArr(int n)
    {
        array = new double[n];
    }
 
public:
    Array()
    {
        number = rand()%10;
        createArr(number);
 
        for (int i = 0; i < number; i++)
        {
            array[i] = rand()%100;
        }
    }
 
    Array(int number)
    {
        createArr(number);
 
        cout << "Веддiть " << number << " елементiв масиву" << endl << endl;
 
        for (int i = 0; i < number; i++)
        {
            cout << "A[" << i << "] = ";
            cin >> array[i];
        }
    }
};
 
void main()
{
    setlocale(LC_CTYPE, "ukr");
 
    Array arr(5);
 
    system("pause");
}
Как-то так должно быть.
Scorpion
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 19
31.05.2014, 14:19  [ТС]     Точки останова вечно вылезают #4
Не, ну задумка была в том, чтобы создать динамический массив, а не статический. Без векторов.
Pjeroo
Землянин
34 / 34 / 12
Регистрация: 15.01.2013
Сообщений: 313
31.05.2014, 14:21     Точки останова вечно вылезают #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Scorpion, это и есть динамически создаваемый массив.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
31.05.2014, 14:21     Точки останова вечно вылезают #6
Ну и сколько тут выделяется?
C++
1
array = new double[];
Scorpion
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 19
31.05.2014, 14:29  [ТС]     Точки останова вечно вылезают #7
Ага, ясно.

C++
1
2
3
4
5
6
7
void output()
    {
        for (int i = 0; i < number; i++)
        {
            cout << "A[" << i << "] = " << array[i] << endl;
        }
    }
Добавил функцию в класс, но выводит ошибку компилятора когда вызываю её в Мейне для экземпляра: "error C3867: Array::output: в вызове функции отсутствует список аргументов; используйте "&Array::output" для создания указателя на член". Как тут правильно поступить?

Я просто раньше программировал на ActionScript, там всей той мороки с указателями, черт бы их побрал, нету. А тут задали в универе лабу на С++, так не могу сделать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2014, 16:41     Точки останова вечно вылезают
Еще ссылки по теме:

При компиляции под Release вылезают ошибки - C++
Использую sfml. Под Debug компилирует нормально, а когда переключаю на Release, появляется 51 ошибка... Error 64 error LNK1120: 50...

Условие останова - C++
Привет, ребята. Посоветуйте плиз, как мне задать условие для того, чтобы ввод прекратился? Вот код: int i,choice; for(i=0;i&lt;MAX;i++)...

точка останова - C++
Доброго времени суток! Если не сложно, объясните в чем ошибка. #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; ...

Точка останова - C++
Здравствуйте все! Не пойму в чём проблема. Вот так всё работает: void main() { char *c = new char ; delete c; }


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

Или воспользуйтесь поиском по форуму:
Pjeroo
Землянин
34 / 34 / 12
Регистрация: 15.01.2013
Сообщений: 313
31.05.2014, 16:41     Точки останова вечно вылезают #8
Scorpion,
Кликните здесь для просмотра всего текста
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
#include <iostream> 
#include <cstdlib>
#include <cmath>
#include <clocale>
 
using namespace std;
 
class Array
{
private: 
    int number;
    double *array;
 
    void createArr(int n)
    {
        array = new double[n];
    }
 
public:
    Array()
    {
        number = rand()%10;
        createArr(number);
 
        for (int i = 0; i < number; i++)
        {
            array[i] = rand()%100;
        }
    }
 
    Array(int number)
    {
        createArr(number);
        this->number = number;
 
        cout << "Веддiть " << number << " елементiв масиву" << endl << endl;
 
        for (int i = 0; i < number; i++)
        {
            cout << "A[" << i << "] = ";
            cin >> array[i];
        }
    }
    
    void output()
    {
        for (int i = 0; i < number; i++)
        {
            cout << "A[" << i << "] = " << array[i] << endl;
        }
    }
};
 
int main()
{
    setlocale(LC_CTYPE, "ukr");
 
    Array arr(5);
    arr.output();
 
    system("pause");
}


Необходимо перенести значение в конструктора из локальной переменной number в глобальную, чтобы её можно было использовать в методе output.

C++
1
this->number = number;
Yandex
Объявления
31.05.2014, 16:41     Точки останова вечно вылезают
Ответ Создать тему
Опции темы

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