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

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

Войти
Регистрация
Восстановить пароль
 
kimor
1 / 1 / 1
Регистрация: 21.10.2011
Сообщений: 102
#1

Ошибка 2094 - C++

29.09.2012, 18:22. Просмотров 333. Ответов 4
Метки нет (Все метки)

Задали написать класс, вот собственно он:
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
#pragma hdrstop
#pragma argsused
#include <iostream.h>
#include <tchar.h>
#include <stdio.h>
class Array
{
    int *a;
    int n;
    public:
    Array()
    {
        n=0;
        a=NULL;
        static int count=count+1;
    }
    Array(int N)
    {
        n=N;
        static int count=count+1;
        a=new int [N];
    }
    Array(const Array &Ob)
    {
        n=Ob.n;
        a=new int [n];
        for (int i = 0; i < n; i++)
        {
             a[i]=Ob.a[i];
             static int count=count+1;
        }
    }
    ~Array()
    {
        delete[]a;
    }
    void Reverse()
    {
        for (int i = 0;i<n/2;i++)
        {
            int t;
            t=a[i];
            a[i]=a[n-i-1];
            a[n-i-1]=t;
        }
    }
    void Make(int N)
    {
        a=new int [N];
        n=N;
    }
    int Get(int Index) const
    {
        return a[Index];
    }
    void Set(int Index,int Value)
    {
        a[Index]=Value;
    }
    void Delete()
    {
        delete[]a;
        n=0;
        a=NULL;
    }
    void Input()
    {
        cout<<"Vvedite el massiva";
        for (int i = 0;i<n;i++)
            cin>>a[i];
    }
    void Output() const
    {
        for (int i = 0;i<n;i++)
            cout<<a[i];
    }
    int Size()const
    {
        return n;
    }
    void Add(int b)
    {
        int *c;
        c=new int[n+1];
        for (int i = 0; i < n; i++)
            c[i]=a[i];
        c[n]=b;
        delete []a;
        a=c;
        n++;
    }
    void Union(const Array b)
    {
        int *c;
        c=new int[n+b.n];
        for (int i = 0; i < n; i++)
            c[i]=a[i];
        for (int i = 0; i < b.n; i++)
            c[n+i]=b[i];
        delete[]b;
        delete[]a;
        a=c;
        n=n+b;
    }
    static *Dynamic(int N)
    {
        Array a(N);
        return a;
    }
    int Search(int Value)
    {
        for (int i = 0; i < n; i++)
        {
            if (a[i]==Value)
                return i;
        }
        return 0;
    }
    void DeleteElement(int Index)
    {
        int*c;
        c=new int [n-1];
        for (int i = 0; i < Index; i++)
        {
            c[i]=a[i];
        }
        for (int i = Index; i < n-1; i++)
        {
            c[i]=a[i+1];
        }
        delete[]a;
        a=c;
        n=n--;
    }
    void Selection()
    {
         for (int i = 0; i < n; i++)
         {
             int min=i;
             for (int j = i+1; j < n; j++)
             {
                 if (a[j]<a[min])
                     min=j;
             }
             if (min!=i)
                 a[i]=a[min];
         }
    }
 
 
};
На 99-й строке вылазит такая ошибка E2094 'operator+' not implemented in type 'Array' for arguments of type 'int'
Я не могу понять почему не прибавляет у меня ведь n и i типа int. У меня там ещё много ошибок но пока что меня интересует именно эта.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2012, 18:22     Ошибка 2094
Посмотрите здесь:

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services - C# ASP.NET
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к сценарию(asp) получаю ошибку: &lt;пропуск&gt; ......

1C 8.x Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи! - 1С
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
29.09.2012, 18:38     Ошибка 2094 #2
Посмотри внимательно ведь b это константный объект класса, с какого перепуга в 99 строке b стал массивом?
Кот Ангенс
317 / 267 / 38
Регистрация: 24.05.2012
Сообщений: 629
29.09.2012, 18:41     Ошибка 2094 #3
Цитата Сообщение от kimor Посмотреть сообщение
c[n+i]=b[i];
b имеет тип Array, operator[ ] не перегружен. Компилятор пытается представить это как *(b + i) и выдает ошибку при попытке сложения Array и int.

Возможно, имелось в виду b.a[i]?
NewProject
2 / 2 / 0
Регистрация: 10.08.2012
Сообщений: 53
29.09.2012, 18:41     Ошибка 2094 #4
а какой компилятор используете?
kimor
1 / 1 / 1
Регистрация: 21.10.2011
Сообщений: 102
29.09.2012, 19:40  [ТС]     Ошибка 2094 #5
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
b имеет тип Array, operator[ ] не перегружен. Компилятор пытается представить это как *(b + i) и выдает ошибку при попытке сложения Array и int.

Возможно, имелось в виду b.a[i]?
Да, именно. Спасибо.
Yandex
Объявления
29.09.2012, 19:40     Ошибка 2094
Ответ Создать тему
Опции темы

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