Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 5
1

Ошибка при вызове метода класса

04.05.2015, 21:09. Показов 330. Ответов 4
Метки нет (Все метки)

ошибка возникает когда я вызываю метод ti
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
#include <iostream>
 
using namespace std;
 
class general
{
protected:
    int **matrix;
public:
 
    void creatematrix(int *lengthmatrix, int *widthmatrix)
    {
 
 
        *lengthmatrix = 5;
        *widthmatrix = 5;
        matrix = new int *[*lengthmatrix];
        for (int i = 0; i < *lengthmatrix; i++)
        {
            matrix[i] = new int [*widthmatrix];
        }
 
 
 
    }
    void filling(int *lengthmatrix, int *widthmatrix)
    {
        for (int i = 0; i < *lengthmatrix; i++)
        {
            for (int j = 0; j < *widthmatrix; j++)
            {
                matrix[i][j] = 0;
            }
 
        }
    }
 
    void printmatrix(int *lengthmatrix, int *widthmatrix)
    {
        for (int i = 0; i < *lengthmatrix; i++)
        {
            for (int j = 0; j < *widthmatrix; j++)
            {
                cout << matrix[i][j];
            }
            cout << endl;
        }
    }
 
 
    void move()
    {
 
 
       /* int u = 0;
        cin >> u;
        if ( u == 1)
        {
            matrix[*start1][*start2] = 0;
            *start1 = *start1 + 1;
            matrix[*start1][*start2] = hero1;
 
        }*/
 
 
 
 
    }
 
 
};
 
class hero: public general
{
 
   int hp;
   int hero1;
public:
   void creathero()
   {
        hero1 = 9;
   }
   void ti()
   {
       int *fo = 0;
       int *ro = 0;
       matrix[*fo][*ro] = hero1;
 
   }
 
 
 
 
};
 
int main()
{
    int *lengthmatrix;
    int *widthmatrix;
 
    hero j;
    general a;
    a.creatematrix(lengthmatrix, widthmatrix);
    a.filling(lengthmatrix, widthmatrix);
    a.printmatrix(lengthmatrix, widthmatrix);
    j.creathero();
    j.ti();
 
 
 
 
    return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2015, 21:09
Ответы с готовыми решениями:

Ошибка при вызове метода класса в методе другого класса
Господа программисты, возникла такая проблема. При вызове метода класса в методе другого класса...

Ошибка при вызове метода класса
После вызова метода getSize() на вызове метода getData() программа крашится. Если вызвать объект...

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

Ошибка в вызове метода класса
Почему ошибка в строке 76 и 82? Покажите мне пожалуйста! #include &lt;iostream&gt; #include &lt;conio.h&gt;...

4
2540 / 1199 / 358
Регистрация: 30.11.2013
Сообщений: 3,820
04.05.2015, 21:11 2
C++
1
2
3
int *fo = 0; // присвоение нулевого адресса  nullptr
int *ro = 0; // присвоение нулевого адресса  nullptr
matrix[*fo][*ro] = hero1; // разыменование nullptr не допустимо, так как память не ваша, а зарегистрирована системой
1
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 5
04.05.2015, 21:15  [ТС] 3
А как тогда поместить hero1 в матрицу?Подскажите)
0
Модератор
Эксперт .NET
5777 / 4661 / 2934
Регистрация: 20.04.2015
Сообщений: 8,335
04.05.2015, 21:19 4
Цитата Сообщение от oke Посмотреть сообщение
C++
1
2
3
4
5
6
void ti()
{
int *fo = 0;
int *ro = 0;
matrix[*fo][*ro] = hero1;
}
Здесь неправильно инициализированные указатели. И непонятно зачем здесь указатели? Почему не
C++
1
2
3
4
5
6
void ti()
{
int fo = 0;
int ro = 0;
matrix[fo][ro] = hero1;
}
0
2540 / 1199 / 358
Регистрация: 30.11.2013
Сообщений: 3,820
04.05.2015, 21:38 5
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
#include <iostream>
using namespace std;
class Hero
{
private:
    int hp;
    int x;
    int y;
public:
    int getX()  {return x;}
    int getY()  {return y;}
    int getHP() {return hp;}
 
    Hero(int x, int y){ this->x = x; this->y = y;}
};
class Game
{
private:
    int width;
    int height;
    int** matrix;
 
public:
    Game(int w, int h)
    {
        width = w;
        height = h;
 
        matrix = new int*[height];
        for(int i = 0; i < width; i++)
            matrix[i] = new int[width];
    }
    void fill()
    {
        for(int w = 0; w < width; w++)
        for(int h = 0; h < height; h++)
            matrix[h][w] = 0;
    }
    void show()
    {
        for(int h = 0; h < height; h++)
        {
            for(int w = 0; w < width; w++)
            {
                cout << matrix[h][w] << " ";
            }
            cout << endl;
        }           
    }
    void addHero(Hero& hero)
    {
        matrix[hero.getY()][hero.getX()] = 1;
    }
 
};
int main()
{
    Game newGame(10, 6);
    Hero hero(3,2);
    newGame.fill();
    newGame.addHero(hero);
    newGame.show();
 
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2015, 21:38

Непонятное поведение при вызове метода класса
Здравствуйте, уважаемые форумчане! Пытаюсь помочь здесь на форуме с задачей на классы, но возникла...

Обрыв функции при вызове метода из объекта другого класса
Почему выполнение функция обрывается на вызове метода из объекта другого класса? DataBuffer.cpp...

Ошибка при вызове метода
Не пойму в чем ошибка... #include &lt;vector&gt; #include &lt;iostream&gt; template &lt;typename T&gt; class...

Ошибка при вызове метода QueryInterface
пишу код: .... IDirect3D9ExOverlayExtension *pOverlay = NULL; // Check specific overlay...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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