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

ошибка fatal error - C++

Восстановить пароль Регистрация
 
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 179
17.03.2011, 22:17     ошибка fatal error #1
при запуске exe вылетает ошибка что переменная i не инициализированна.
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
#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 i,j = 0;
    if(mass2[i]!=0)  //<- вот эта переменная
        i++;
    for(; i>0; i--, j++)
        mass1[j] = mass2[j];
    pmass1 = 0;
    plent = 0;
    plen = 0;
}
 
    stringz::stringz(const stringz &s)
{
    cout << "Copy destructro" << "\n";
    str = new char [s.len+1];
    strcpy(str, s.str);
    int i,j = 0;
    if(s.mass1!=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";
    if(plen!=0)
        delete plen;
    if(pmass1!=0)
        delete pmass1;
    if(plent!=0)
        delete plent;
}
 
    stringz& stringz::operator=(const stringz &obj)
{
    
    return *this;
}
 
    ostream& operator<<(ostream &os, const stringz &s)
{
    os << "\n";
    return os;  
}
 
    bool operator>(const stringz &obj1, const stringz &obj2)
{
    return false;
}
 
    bool operator<(const stringz &obj1, const stringz &obj2)
{
    return false;
}
 
    void stringz::show()
{
    cout << str << "\n";
    cout << len << "\n";
    cout << lent << "\n";
    int i = 0;
    if(mass1[i]!=0)
    {
        cout << mass1[i] << " ";
        i++;
    }
    cout << "\n";
    cout << pmass1 << "\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
#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 bool operator<(const stringz &obj1, const stringz &obj2);
    friend bool operator>(const stringz &obj1, const stringz &obj2);
    friend bool operator==(const stringz &obj1, const stringz &obj2);
    friend ostream & operator<<(ostream &os, const stringz &s);
    friend ostream & operator>>(istream &is, const stringz &s);
    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
#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;
    stringzobj1.show();
    stringz stringzobj2("Test", mass3, 5); 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.03.2011, 22:22     ошибка fatal error #2
Цитата Сообщение от korez Посмотреть сообщение
при запуске exe вылетает ошибка что переменная i не инициализированна.
вы предлагаете нам ее искать?
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 179
17.03.2011, 23:11  [ТС]     ошибка fatal error #3
я указал где, а строкой ранее инициализируется эта переменная
в том и проблема, что я ее как раз инициализировал.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.03.2011, 23:15     ошибка fatal error #4
вы действительно считаете что иницилизировали переменную?
C++
1
int i,j = 0;
вот иницилизаци
C++
1
2
3
int i = 0,j = 0;
//либо
int i(0),j(0);
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 179
17.03.2011, 23:22  [ТС]     ошибка fatal error #5
Maxwe11 я сейчас сам написал вот так int i =0; int j = 0; все заработало.
Большое спасибо за ответы,
Yandex
Объявления
17.03.2011, 23:22     ошибка fatal error
Ответ Создать тему
Опции темы

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