11 / 11 / 5
Регистрация: 02.02.2011
Сообщений: 211
1

Не хочет реализоваться класс

30.04.2011, 13:38. Показов 575. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
class sell
{
public:
       int tt(void)
       {
        return 1;
       }
};
 
class test
{
public:
    test(void)
        {
            for(int i = 0; i < 10; i++)
                this->sellsl[i] = new sell;
        }
 
        void run(void)
        {
            int k = sellsl[2]->tt(); 
        }
...
...
...
private:
    sell* sells[10];
};
Код примерное такой. У класса test все функции работают хорошо, кроме run.
Пишет что участок памяти не может быть read и т.д. Не могу понять почему... this->sellsl[i] = new sell; - я же вроде все правильно сделал..
Можете помочь? Все утро голову себе ломаю и не знаю в чем дело.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2011, 13:38
Ответы с готовыми решениями:

Gcc не хочет понимать класс
Здраствуйте! У меня возникла следующая проблема: Я перешёл на линукс и нормально работал, пока не...

Глючит страшно курсор: хочет сам все выделяет, хочет удаляет часть текста, хочет прыгает где ему вздумаеться
Подскажите как быть...глючит страшно курсор: хочет сам все выделяет, хочет удаляет часть текста,...

Реализоваться рисование на форме равносторонних треугольников под управлением мыши
Всем привет! Дано следующее задание, помогите разобраться: &quot;Реализоваться рисование на форме...

JBuilder8 не хочет находить класс Object.
У кого-нибудь работает восьмой JBuilder? Не хочет находить класс Object, вообще ведет себя...

8
60 / 60 / 17
Регистрация: 12.10.2010
Сообщений: 129
30.04.2011, 13:44 2
Буква лишняя
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
30.04.2011, 16:08 3
Рекомендую читать сообщения об ошибках.
0
11 / 11 / 5
Регистрация: 02.02.2011
Сообщений: 211
04.05.2011, 12:02  [ТС] 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
// Файл menu_shop.h
#include "items.h"
#include <sstream>
#include <string>
 
class menu_shop
{
public:
    ...
    ...
    ...
private:
    bool buy(User* user,std::string msg);
    Items * items[20];
};
 
...
...
...
 
menu_shop::menu_shop(void)
{
    for(int i = 0; i < 10; i++)
        this->items[i] = new Items(i);
}
 
bool menu_shop::sell(User* user,std::string msg)
{
    std::ostringstream idd;
    idd << items[1]->id;
    say(MC_COLOR_RED + "<<-- Item id: " + MC_COLOR_GREEN + idd.str(),user);
    say("    9. Exit",user);
}

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Файл items.h
#include <string>
 
class Items
{
public:
    Items(int namber);
    int id;
    int namber;
    std::string name;
private:
};
 
#include "items.h"
 
Items::Items(int n)
    :
    id(n)
    {
    }
Немножко сократил код.
При открытии функцию buy выводит ошибку: "Функция по адресу такому-то не может обратится к памяти по адресу такому-то. Память не может быть реал и т.д." .
Т.е. не может найти переменную items[1]->id. Но почему? И же в конструкторе сделал:

for(int i = 0; i < 10; i++)
this->items[i] = new Items(i);
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
04.05.2011, 12:14 5
items[20], но инициализируешь только 10 из них.
Если проблема в методе buy, то где его код? По ошмётку кода сложно что-либо сказать.
0
11 / 11 / 5
Регистрация: 02.02.2011
Сообщений: 211
04.05.2011, 12:54  [ТС] 6
Ой перепутал. НЕ buy, а sell

C++
1
2
3
4
5
6
7
bool menu_shop::sell(User* user,std::string msg)
{
        std::ostringstream idd;
        idd << items[1]->id; // во тут почему-то не пашет.
        say(MC_COLOR_RED + "<<-- Item id: " + MC_COLOR_GREEN + idd.str(),user);
        say("    9. Exit",user);
}
0
Делаю внезапно и красиво
Эксперт С++
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
04.05.2011, 13:08 7
Падает прям с индексом Одын? Поставь прерывание в конструкторе и убедись, что создаётся именно этим конструктором. Такая ошибка возникает при обращении по неинициализированному указателю.
0
11 / 11 / 5
Регистрация: 02.02.2011
Сообщений: 211
04.05.2011, 13:30  [ТС] 8
C++
1
2
3
4
5
6
7
8
bool menu_shop::sell(User* user,std::string msg)
{
        items[1] = new Items(1);
        std::ostringstream idd;
        idd << items[1]->id; // во тут почему-то не пашет.
        say(MC_COLOR_RED + "<<-- Item id: " + MC_COLOR_GREEN + idd.str(),user);
        say("    9. Exit",user);
}
Тоже ошибка!
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
04.05.2011, 13:36 9
koka3000, new надеюсь не переопределен?
И какая ошибка конкретнеее?
0
04.05.2011, 13:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2011, 13:36
Помогаю со студенческими работами здесь

Класс, созданный в DLL, не хочет удалятся из вызывающего приложения
Привет! Приведу пример проблеммы на тестовом примере. Создаю DLL при помощи визарда: С++...

Класс (почемуто не хочет найти человека у которого бал выше 75)
Суть задания в том что есть несколько студентов (тут я 2 зделал). Мы заполняем даные про них...

Сессия не хочет сохранять в себе класс, при переходе на другую страницу
Сессия не хочет сохранять в себе класс, при переходе на другую страницу. Это работает тока если...

Класс: Почему этот operator+ не хочет работать как функция внутри класса?
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class complex{ private: int...

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

Статический IP пингуется когда хочет и откуда хочет
Приветствую, товарищи. Диспозиция такова: Приобрел сим-карту Мегафон со статическим IP-адресом...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru