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

Обращение к динамической структуре через массив указателей - C++

Восстановить пароль Регистрация
 
Ytsukene
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 42
14.10.2013, 01:52     Обращение к динамической структуре через массив указателей #1
При попытке обратиться к элементу динамической структуры через связанный с ним элемент массива указателей выдаёт ошибку (со строчки 73):

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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
struct Book
    {
        string UDK;
        string autor;
        string name;
        int year;
        int amount;
        Book* next;
    };
 
 
void search (Book **beg);
int main()
{
........
}
 
 
void search (Book **beg)
{
    int i=0,n=0;
    string UDK;
    string autor;
    string name;
    int year;
    int amount;
 
    
    Book **f = beg;
    while(*f) 
    { 
        n++; 
        (*f)=(*f)->next; 
        cout<<n<<endl;
    }
    f = beg;
    
    Book **a = new Book*[n-1];
 
 
    cout<<"Укажите ключи:"<<endl;
    cout<<"Введите УДК:.....";cin>>UDK;
    cout<<"Год издания:.....";cin>>year;
    cin.sync();
    cout<<"Автор:...........";getline(cin, autor);
    cout<<"Название книги:..";getline(cin, name);
 
    system("pause");
    for(i=0; ((*f) && i<n); i++)
    {
        if( UDK == (*f)->UDK ||
            year == (*f)->year ||
            autor == (*f)->autor ||
            name == (*f)->name )
        {
            a[i] = (*f);
 
        }
 
        (*f)=(*f)->next;
        i++;
    }
 
 
    for(i=0;i<n;i++)
    {
        cout<<endl<<"УДК:............."<<a[i]->UDK;
        cout<<endl<<"Год издания:....."<<a[i]->year;
        cout<<endl<<"Автор:..........."<<a[i]->autor;
        cout<<endl<<"Название книги:.."<<a[i]->name;
        cout<<endl<<"Количество:......"<<a[i]->amount;
        cout<<endl<<endl;
    }
 
    return;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2013, 01:52     Обращение к динамической структуре через массив указателей
Посмотрите здесь:

C++ Обращение к структуре - параметру класса
C++ Почему не проходит обращение к структуре?
Обращение к элементам линейного списка через элементы массива указателей C++
C++ Не работает обращение к структуре
Функция получает массив указателей на строки и возвращает строку в динамической памяти, содержащую объединенный текст из входных строк C++
C++ Почему обращение к методам осуществляется через оператор прямого доступа, а не через оператор указателей->?
Очистка динамической памяти в структуре C++
Через массив указателей вызвать четыре функции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.10.2013, 02:26     Обращение к динамической структуре через массив указателей #2
Как, по-вашему, с этим можно разбираться, если не видно, что, конкретно, и как передаётся в функцию?
Yandex
Объявления
14.10.2013, 02:26     Обращение к динамической структуре через массив указателей
Ответ Создать тему
Опции темы

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