0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 9
1

Указатель в структуре

04.06.2015, 21:57. Показов 954. Ответов 3
Метки нет (Все метки)

Как можно работать дальше с Abool как с массивом, обращаясь к нему как к члену структуры, т. е. D.Abool[i]? Когда программа доходит до этого места появляется ошибка Unhandled exception at 0x6a6926df in Subsets.exe: 0xC0000005: Access violation writing location 0x00213560.
C++
1
2
3
4
5
6
7
8
9
struct myData{
 int Sumtemp 
 bool *Abool;
 myData (int N){
  bool *Abool=new bool[N];
}   
int N=10;
myData D(N);
for(int i=0;i<N;i++)D.Abool[i]=false;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2015, 21:57
Ответы с готовыми решениями:

Указатель на функцию в структуре
Есть класс: class Foo { struct Request { void ( Foo :: *operation )( Object* );...

Указатель на ф-цию в структуре
Привет всем, почему если объявить структуру в виде указателя и присвоить указателю на ф-цию...

Как создать указатель в структуре?
Я хочу ввести имя, но под name надо выделить память? Если да то как и где(где менно прописывать...

Как описать в структуре строку не через указатель
Есть структура struct InfoBuf { size_t Len; char Data; / ??? static InfoBufType*...

3
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
04.06.2015, 22:05 2
Лучший ответ Сообщение было отмечено GArgantua777 как решение

Решение

Цитата Сообщение от GArgantua777 Посмотреть сообщение
bool *Abool=new bool[N];
Здесь Abool это новая переменная, т.е вы не изменяете поле структуры, а просто создаете новый массив bool.
Т.е надо написать,
C++
1
*Abool=new bool[N];
Добавлено через 4 минуты
Я слегка ошибся, без звездочки надо ту строку написать. И чтобы не было утечек сделать деструктор.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
struct myData
{
    int Sumtemp;
    bool *Abool;
    myData(int N)
    {
        Abool=new bool[N];
    }
    ~myData()//Деструктор
    {
        delete[] Abool;
    }
};
 
int main()
{
    int N=10;
    myData D(N);
    for(int i=0;i<N;i++) D.Abool[i]=false;
}
1
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 9
04.06.2015, 22:13  [ТС] 3
Сделал, но снова ошибка:
Unhandled exception at 0x00ac1264 in Subsets.exe: 0xC0000005: Access violation writing location 0x00ac3560.

Добавлено через 1 минуту
Всё, разобрался, спасибо!
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
04.06.2015, 22:13 4
GArgantua777, у меня этот код работает нормально, никаких ошибок.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
struct myData
{
    int Sumtemp;
    bool *Abool;
    myData(int N)
    {
        Abool=new bool[N];
    }
    ~myData()//Деструктор
    {
        delete[] Abool;
    }
};
 
int main()
{
    int N=10;
    myData D(N);
    for(int i=0;i<N;i++) D.Abool[i]=false;
}
Покажите весь код.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2015, 22:13
Помогаю со студенческими работами здесь

Указатель на строку в структуре
Ахой, товарищи. Имею такой вопрос дана структура struct naww { char *name; }str;

Указатель void в структуре
Здравствуйте. Вот есть структура, например, и в ней поле void *data. Вопрос такой - я могу в дату...

Указатель на структуру в структуре
Здравствуйте! Изучаю в Си структуры и возник вопрос, что означает последнее поле в данной...

Указатель на структуру, и в структуре указатель на структуру
Добрый день. Structure xDocuments lol.s EndStructure Structure xWord ...


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

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

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