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

ошибка Invalid indirection (связано с указателем) - C++

Восстановить пароль Регистрация
 
JinZh
0 / 0 / 0
Регистрация: 18.04.2011
Сообщений: 13
19.04.2011, 14:11     ошибка Invalid indirection (связано с указателем) #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
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
#include "iostream.h"
#include "conio.h"
 
using namespace std;
 int m; //незнаю нужно ли сюда
class mass
{
   public: mass_A1(int *, int);  
          ~mass();  
   void min_mass (int *,int);
void max_mass (int *,int);
void output_mass (void);
   private:
            int m[10];
 
}; 
 
 
mass::mass_A1(int *m, int size)
{   int mx = 9, mn = 1;
 
    for(int i = 1; i <= size; i++)
    {
        m[i] = rand()%(mx-mn+1)+mn;
    cout << "\Vvedite m["<<i<<"] element";
    cin >> m[i];
    }
    
}
// ìåòîä 1 min
void mass::min_mass(int *m, int size)
{
    int mx = 9, mn = 1;
    int min;
    for(int i = 1; i <= size; i++) 
    {                   
        m[i] = rand()%(mx-mn+1)+mn;
    }
 
    for(int i = 1; i <= size; i++)
    {   
        min=m[1];
        if (m[i]<=min) min=m[i];
    }
    cout<<"Minimal'niy element = "<<min;
}
 
// ìåòîä 2 max
void mass::max_mass(int *m, int size)
{
    int mx = 9, mn = 1;
    int max;
    for(int i = 1; i <= size; i++) 
    {                   
        m[i] = rand()%(mx-mn+1)+mn;
    }
 
    for(int i = 1; i <= size; i++)
    {   
        max=m[1];
        if (m[i]>=max) max=m[i];
    }
    cout<<"Maximal'niy element = "<<max;
}
 
void mass::output_mass()
{ int size; cout<<"===Vyvod=massiva===";
    for(int i = 1; i <= size; i++)
    {                   
        cout<<"Vyvod. m["<<i<<"element= "<<m[i];
    }
}
 
 
int main()
{   int size;
    mass A1;
    cout<<"Enter size: ";
    cin>>size;
    A1.mass_A1(*m,size); // [B]тут пишет Invalid indirection[/B]
    A1.min_mass(*m, size);  // вывод функции min
    A1.max_mass(*m, size);  // max
    A1.output_mass();   // вывод массива
    
    getch();
    return 0;
 
}
Я с указателями не в ладах, помогите решить

Добавлено через 1 час 36 минут
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
 #include "vcl.h"
 #include "iostream.h"
#include "conio.h"
using namespace std;
 
class mass
{
   public: mass_A1(int);  // ïðîòîòèï ГїГўГ*îãî ГЄГ®Г*ñòðóêòîðГ* ГЄГ«Г*Г±Г±Г* mass äëÿ âûâîäГ* åëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ* Г°Г*Г*äîìîì
          //~mass();    // ïðîòîòèï ГїГўГ*îãî äåñòðóêòîðГ* ГЄГ«Г*Г±Г±Г* mass
   void min_mass (int);
void max_mass (int);
void output_mass (void);
   private:
            int m[10];
 
};
 
// ÎïðåäåëåГ*ГЁГҐ ГїГўГ*îãî ГЄГ®Г*ñòðóêòîðГ*
mass::mass_A1(int size)
{   int mx = 9, mn = 1;
 
    for(int i = 1; i <= size; i++)
    {
        m[i] = rand()%(mx-mn+1)+mn;
    cout << "\Vvedite m["<<i<<"] element";
    cin >> m[i];
    }
 
}
// ìåòîä 1 min
void mass::min_mass(int size)
{
    int mx = 9, mn = 1;
    int min;
    for(int i = 1; i <= size; i++)
    {
        m[i] = rand()%(mx-mn+1)+mn;
    }
 
    for(int i = 1; i <= size; i++)
    {
        min=m[1];
        if (m[i]<=min) min=m[i];
    }
    cout<<"Minimal'niy element = "<<min;
}
 
// ìåòîä 2 max
void mass::max_mass(int size)
{
    int mx = 9, mn = 1;
    int max;
    for(int i = 1; i <= size; i++)
    {
        m[i] = rand()%(mx-mn+1)+mn;
    }
 
    for(int i = 1; i <= size; i++)
    {
        max=m[1];
        if (m[i]>=max) max=m[i];
    }
    cout<<"Maximal'niy element = "<<max;
}
// âûâîä ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ*
void mass::output_mass()
{ int size; cout<<"===Vyvod=massiva===";
    for(int i = 1; i <= size; i++)
    {
        cout<<"Vyvod. "<<i<<"element= "<<m[i];
    }
}
 
 
int main()
{   int size;
    mass A1; // âûçûâГ*ГѕГІГ±Гї Г*ГҐГїГўГ*ûé, Г* Г§Г*ГІГҐГ¬ ГїГўГ*ûé ГЄГ®Г*ñòðóêòîðû
    cout<<"Enter size: ";
    cin>>size;
        A1.mass_A1(size);
    A1.min_mass(size);  // âûçûâГ*ГҐГІГ±Гї ГґГіГ*êöèÿ-÷ëåГ* ïîèñêГ* min
    A1.max_mass(size);  // âûçûâГ*ГҐГІГ±Гї ГґГіГ*êöèÿ-÷ëåГ* ïîèñêГ* max
    A1.output_mass();   // âûçûâГ*ГҐГІГ±Гї ГґГіГ*êöèÿ-÷ëåГ* ïîèñêГ* max
    
    getch();
    return 0;
 
}
Изменил код.. при компиляции зацикливает.. помогите решить уже эту проблемку =) буду очень благодарен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2011, 14:11     ошибка Invalid indirection (связано с указателем)
Посмотрите здесь:

Invalid indirection C++
C++ Переделать функцию c указателем на int, на функцию с указателем на void
C++ компил ругает по 2062 invalid indirection каждый кусочек с массивом
C++ Ошибка invalid use of member
В чем разница между указателем и указателем на указатель? C++
Ошибка сортировки: Invalid operator< C++
Ошибка при компиляции простого кода с указателем C++
C++ Ошибка Invalid Operands

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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