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

Указатель и его неопределённый тип - C++

Восстановить пароль Регистрация
 
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
15.12.2012, 17:36     Указатель и его неопределённый тип #1
C++
1
2
3
4
5
struct SAI_BuMa
{
    int number_BuMa;
    int counter_BuMa;
};
C++
1
2
3
AI[i].style[j].pointer[t] = new SAI_BuMa;
                    IF_data_AI >> tmp;
                    static_cast <SAI_BuMa*> (&AI[i].style[j].pointer[t]->number_BuMa) = tmp; // вот тут ошибка что делать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 17:36     Указатель и его неопределённый тип
Посмотрите здесь:

C++ Процедурный тип на функцию содержащую указатель на массив
C++ Как в связном списке присвоить NULL полю next, если тип этого поля не указатель, а ссылка?
C++ Как создать тип данных указатель в собственном языке программирования?
C++ Указатель на тип данны
C++ clrscr(); не определен данный тип и const MAX_ELEMENTS = 4; отсутсвует тип int когда я его туда вписываю у меня больше ошибок вылазит
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.12.2012, 17:39     Указатель и его неопределённый тип #2
Хотите переменной number_BuMa присвоить значение tmp? Кастуйте tmp к int, если его тип отличен от int
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
15.12.2012, 17:45  [ТС]     Указатель и его неопределённый тип #3
вот сделал такой изворот, но хочется без левых переменных обходится
C++
1
2
3
4
5
6
7
AI[i].style[j].pointer[t] = new SAI_BuMa;
                    SAI_BuMa * pointer_SAI_BuMa;
                    pointer_SAI_BuMa = static_cast <SAI_BuMa*> (AI[i].style[j].pointer[t]);
                    IF_data_AI >> tmp;
                    tpointer_SAI_BuMa->counter_BuMa = tmp;
                    IF_data_AI >> tmp;
                    pointer_SAI_BuMa->number_BuMa = tmp;
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.12.2012, 17:47     Указатель и его неопределённый тип #4
C++
1
2
AI[i].style[j].pointer[t] = new SAI_BuMa;
IF_data >> AI[i].style[j].pointer[t] -> counter_BuMa >> pointer_SAI_BuMa -> number_BuMa;
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
15.12.2012, 17:48  [ТС]     Указатель и его неопределённый тип #5
Цитата Сообщение от soon Посмотреть сообщение
Хотите переменной number_BuMa присвоить значение tmp? Кастуйте tmp к int, если его тип отличен от int
не в tmp дело, дело в том что без ввода лишней переменной не получается объеснить компилятору
что pointer, тип которого void * в данном случаи имеет тип SAI_BuMa *

Добавлено через 59 секунд
C++
1
2
3
4
5
struct SAI_command
{
    vector <void *> pointer;
    vector <ECommand> command;
};
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
15.12.2012, 17:50     Указатель и его неопределённый тип #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
struct Foo
{
    int foo;
};
 
int main()
{
    void* ptr_void;
    ptr_void = new Foo;
 
    std::cin >> static_cast<Foo*>(ptr_void) -> foo;
    std::cout << static_cast<Foo*>(ptr_void) -> foo << std::endl;
 
    delete static_cast<Foo*>(ptr_void);
 
    return 0;
}
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
16.12.2012, 13:16  [ТС]     Указатель и его неопределённый тип #7
извените что тратили на меня время, вот такая строка нужны была
C++
1
    static_cast <SAI_BuMa*> (AI[i].style[j].pointer[t])->counter_BuMa=tmp;
Добавлено через 6 минут
soon, большое спасибо

Добавлено через 2 часа 11 минут
C++
1
2
3
4
5
6
7
struct SAI_style
{
    vector <SAI_command> building_layer;
    int current_command;
    int current_layer;
    int chance;
};
C++
1
    vector < SAI_style> *AI_style = static_cast <vector  <SAI_style> *> (static_cast<void*> (&AI[state_kingdom]));
C++
1
AI_style[0]->
дальше почемуто высвечиваются операции доступные над вектором а не члены SAI_style ,что делать?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
16.12.2012, 13:50     Указатель и его неопределённый тип #8
Цитата Сообщение от Van111 Посмотреть сообщение
дальше почемуто высвечиваются операции доступные над вектором а не члены SAI_style ,что делать?
C++
1
(*AI_style)[0].
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 14:38     Указатель и его неопределённый тип
Еще ссылки по теме:

C++ указатель на неопределенный тип
Как изменить тип объекта, на который указывает указатель? C++
C++ Как узнать тип, переданный через указатель на void?

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

Или воспользуйтесь поиском по форуму:
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
16.12.2012, 14:38  [ТС]     Указатель и его неопределённый тип #9
вопрос решён, надо было использовать итератор
C++
1
vector < SAI_style> ::iterator AI_style =  (AI.begin() + state_kingdom);
Yandex
Объявления
16.12.2012, 14:38     Указатель и его неопределённый тип
Ответ Создать тему
Опции темы

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