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

ошибка приложения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка унарного оператора http://www.cyberforum.ru/cpp-beginners/thread260316.html
у меня есть метод, который выводит просто строку void CTimeCycle::operator>>(int x) { cout<<"123"; return ; } когда хочу заменить перегружаемый оператор с бинарного на унарный выдает ошибку void CTimeCycle::operator!() { cout<<"123";
C++ STL,Поиск определителя и решение с.л.а.у.,WxDev-C++7.3.1.3 Привет. Пытаюсь написать консольную программку для поиска определителя матрицы и нахождения корней линейного уравнения. Делаю с помощью STL векторов. Код в принципе скомпилировался,но программа не запустилась. Есть сообщение,но не могу его понять. Подскажите где может быть ошибка? Компилятор выдаёт сообщение такого плана: undefined reference to... http://www.cyberforum.ru/cpp-beginners/thread260311.html
С чего начать? C++
Дорогие друзья-программисты, есть интерес для освоения языка си++, но я не знаю с чего начать. Пожалуйста помогите информацией, ссылками или советами Есть навык программирования на паскале, на уровне 10 класса школы. СПАСИБО ЗА ВНИМАНИЕ!
Задан массив натуральных чисел X из 20 элементов. Удалить из него 2 наибольших и наименьших элемента. C++
Задан массив натуральных чисел X из 20 элементов. Удалить из него 2 наибольших и наименьших элемента. Добавлено через 23 часа 12 минут помогите с программкой :bye:
C++ Сверить вводимый текст со словарём http://www.cyberforum.ru/cpp-beginners/thread260277.html
Дан текст, состоящий из предложений. Ввод текста осуществляется в несколько строк (не более 15). Признак завершения ввода – ввод пустой строки. Также задан словарь, состоящий максимум из 50 слов. Ввод слов осуществляется до ввода пустой строки или до заполнения словаря. Вывести текст на экран, при этом все слова в тексте, которых нет в словаре или они записаны с ошибкой, преобразовать к...
C++ С++:invalid types 'int[int]' for array subscript Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента. С++ ошибка invalid types 'int' for array subscript в функции в строке if (a==0) # include <stdio.h> //для использования ввода/вывода информации # include <windows.h> //для использования русского языка # include <math.h> // для использования математических функция #... подробнее

Показать сообщение отдельно
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182

ошибка приложения - C++

19.03.2011, 20:20. Просмотров 356. Ответов 0
Метки (Все метки)

ошибка приложения (память не может быть read) после после оператора (cout << "test\n"
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#include <iostream>
//using namespace std;
 
    stringz::stringz()
{
    cout << "Default constructor" << "\n";
    len = 4;
    lent = 0;
    str = new char [len+1];
    str[0] = '\0';
    numstr++;
    mass1[0] = 0;
    pmass1 = 0;
    plent = 0;
    plen = 0;
}
 
    stringz::stringz(const char *s, const int *mass2, double wt)
{
    cout << "Constructor with parameters" << "\n";
    len = strlen(s);
    str = new char [len+1];
    strcpy(str, s);
    lent = wt;
    int j = 0;
a1:
    if(mass2[j]!=0)
    {
        mass1[j] = mass2[j];
        j++;
        goto a1;
    }
    mass1[j] = mass2[j];
    pmass1 = 0;
    plent = 0;
    plen = 0;
}
 
    stringz::stringz(const stringz &s)
{
    cout << "Copy constructor" << "\n";
    str = new char [s.len+1];
    strcpy(str, s.str);
    int j = 0;
    int i = 0;
    if(s.mass1[0]!=0)
        i++;
    pmass1 = new int [i];
    for(; i>0; i--, j++)
        *(pmass1+j) = s.mass1[j];
    plen = new int;
    *plen = s.len;
    plent = new double;
    *plent = lent;
}
 
    stringz::~stringz()
{
    cout << "Destructor" << "\n";
    delete str;
    if(plen!=0)
        delete plen;
    if(pmass1!=0)
        delete pmass1;
    if(plent!=0)
        delete plent;
}
 
    stringz& stringz::operator=(const stringz &obj)
{
    cout << "Operator =\n";
    if(this==&obj)
        return *this;
    if(pmass1!=0)
    {
        delete pmass1;
        delete plen;
        delete plent;
    }
    delete str;
    str = new char [obj.len+1];
    strcpy(str, obj.str);
    int i = 0;
a3:
    if(obj.mass1[i]!=0)
    {
        i++;
        goto a3;
    }
    i++;
    pmass1 = new int [i+1];
    int * pmasst = pmass1;
    for(int j=0; i>0; i--, j++)
    {
        pmasst += j;
        *(pmasst) = obj.mass1[j];
    }
    cout << "test\n"; // <- вот здесь
    plent = new double;
    *plent = obj.lent;
    plen = new int;
    *plen = obj.len;
 
    return *this;
}
 
    ostream& operator<<(ostream &os, const stringz &s)
{
    os << "\n";
    return os;  
}
 
    char& stringz::operator[](int i)
{
    return str[i];
}
 
    const char& stringz::operator[](int i) const
{
    return str[i];
}
 
    stringz stringz::operator+(stringz &obj)
{
    stringz objt;
    objt.len = len + obj.len;
    objt.str = new char [objt.len+1];
    int i = len;
    int j = 0;
    for(;i>0; i--, j++)
        objt.str[j] = str[j];
    i = obj.len;
    int w = 0;
    for(;i>0; i--, j++, w++)
        objt.str[j] = obj.str[w];
    return objt;
}
 
    void stringz::show()
{
    cout << str << "\n";
    cout << len << "\n";
    cout << lent << "\n";
    int i = 0;
a2:
    if(mass1[i]!=0)
    {
        cout << mass1[i] << " ";
        i++;
        goto a2;
    }
    cout << "\n";
    cout << pmass1 << "\n";
}
 
    int stringz::checkchar(const stringz *s, char tc)
{
    int i = s->len;
    int j = 0;
    int w = 0;
    for(; i>0; j++, i--)
    {
        if(s->str[i]==tc)
            w++;
    }
    return w;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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
#include <iostream>
using namespace std;
 
    class stringz
{
    int mass1[25];
    char *str;
    int len;
    double lent;
 
    int *pmass1;
    double *plent;
    int *plen;
    
    static const int cinlim = 60;
    static int numstr;
    
    public:
    stringz();
    stringz(const char *s, const int *mass2, double wt);
    stringz(const stringz &s);
    ~stringz();
 
    stringz& operator=(const stringz &obj);
    stringz& operator=(const char *);
    char& operator[](int i);
    const char& operator[](int i)const;
    friend ostream & operator<<(ostream &os, const stringz &s);
    friend ostream & operator>>(istream &is, const stringz &s);
    stringz operator+(stringz &obj);
    int checkchar(const stringz *s, char tc);
    void show();
    static int howmany();
};
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
#include <stdafx.h>
#include <iostream>
#include "incl.h"
#include "project111.cpp"
 
using namespace std;
 
int stringz::numstr = 0;
 
 
int main()
{
    int mass3[6];
    mass3[0] = 2;
    mass3[1] = 7;
    mass3[2] = 1;
    mass3[3] = 3;
    mass3[4] = 5;
    mass3[5] = 0;
    stringz stringzobj1;
    stringz stringzobj2("Test", mass3, 5);
    stringzobj2.show();
    stringz stringzobj3;
    stringzobj3 = stringzobj2;
    stringzobj3.show();
    cout << "Programm end\n";
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru