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

Конструктор ссылки? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ zlib Двойное архивирование\разархивирование http://www.cyberforum.ru/cpp/thread92076.html
Использую библиотеку zlib 1.2.3 Нужно сохранять массив объектов в файл и потом загружать её. Вес - 10 мегабайт. Решил сжать перед записью. Сделал... обнаружил что уже сжатый файл тоже бы мог сжаться...
C++ ОШИБКА Что за ошибка: Must use c++ for the type iostream?? http://www.cyberforum.ru/cpp/thread91688.html
C++ пропадающее окно
ещё раз здраствуйте. в предыдущий теме вы мне помогли http://www.cyberforum.ru/cpp/thread91603.html спасибо большое. но теперь у меня новая проблема. я использовал несколько програм втом числе и эту...
C++ Внешние объекты в классе
Если класс исплользует какую то внешнюю переменную (например hWnd), то как будет более корректно его создать: class MyClass { private: HWND* _myWnd; public: MyClass(HWND* extWnd, ...)...
C++ Выделение памяти http://www.cyberforum.ru/cpp/thread91503.html
MyClass& DXI =* new MyClass(); Это корректный код для выделения памяти, чтобы к переменной можно было обращаться не по ссылке? delete &DXI; Это удалит выделенную память? Кроме того... если ...
C++ Как подключить .h файл дважды? Такая проблема: имеется файл lib.h и еще 2 файла: NewLib1.h и NewLib2.h, в каждый из которых включен предыдущий файл: #include "lib.h" Проблема возникает, когда я компилирую файл... подробнее

Показать сообщение отдельно
insideone
Модератор
Автор FAQ
3642 / 921 / 49
Регистрация: 10.01.2010
Сообщений: 2,472
04.02.2010, 16:21  [ТС]
Переписал .cpp так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
StateManager::StateManager(state_type mainFunc, executor newExec)
: exec(newExec)
{
    cur_state = new state_unit(mainFunc);
}
 
StateManager::state_unit::state_unit(StateManager::state_type newFunc, StateManager::state_unit* newParent)
: func(newFunc),
parent(newParent)
{           }
 
 
 
void StateManager::Push(state_type newState, bool execute){
    state_unit* new_state = new state_unit(newState);
    new_state->parent = cur_state;
    cur_state = new_state;
    if ( execute == true )
    {
        exec(cur_state->func);
    }
}
Заработало... Хм... Хотя я так не понял что мешало конструктору StateManager не инициализировать state_unit* cur_state; и вывалиться в ошибку при первом запросе ... хм... ну ладно, главное что работает

ps. опять при написании путаю слова ссылка\указатель (в теме)

Добавлено через 14 часов 36 минут
Ещё проблемка по классу -
C++
1
State = new StateManager(0, &Sc.DO);
error C2276: &: недопустимая операция с выражением привязанной функции-члена
Нельзя делать ссылки на методы объектов?

Добавлено через 2 часа 36 минут
Ну да, понял... ведь методы объектов получают скрытый параметр указатель - this... да только как бы сообразить решить эту проблему
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru