Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Передача указателя на метод как тип в шаблонизированый класс. С++  (Прочитано 679 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн R170

  • Автор темы
  • Участник
  • *
  • Сообщений: 144
    • Просмотр профиля
Доброго времени суток.
Хочу передать в метод указатель на другой метод. Синтаксическая ошибка(
Подскажите как правильно.
Спасибо
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
Строка ошибки
Код: (C++) [Выделить]
buttons->push_back(new CallerButton<void (GameState::*)(int, int)>(170 + 50*c1, 170+50*c, 40, 40, "test", GameState::mark(c1, c));
Ошибка
g++ -I include -c src/GameState.cpp -o obj/GameState.o -std=c++11
src/GameState.cpp: In member function ‘virtual void GameState::onActive()’:
src/GameState.cpp:24:132: error: invalid use of void expression
    buttons->push_back(new CallerButton<void (GameState::*)(int, int)>(170 + 50*c1, 170+50*c, 40, 40, "test", GameState::mark(c1, c));
Еще раз спасибо.

Пользователь решил продолжить мысль 06 Октября 2015, 00:02:11:
А если вот так
Код: (C++) [Выделить]
buttons->push_back(new CallerButton<void (GameState::*)(int, int)>(170 + 50*c1, 170+50*c, 40, 40, "test", &GameState::mark));
То
g++ -I include src/main.cpp obj/Application.o obj/BackgroundState.o obj/Button.o obj/EventManager.o obj/GameState.o obj/MenuState.o obj/StateManager.o obj/VideoManager.o -o bin/game.out -lSDL2main -lSDL2 -lSDL2_image
obj/GameState.o: in function «GameState::onActive()»:
GameState.cpp:(.text+0x1e1): undefined reference «CallerButton<void (GameState::*)(int, int)>::CallerButton(int, int, int, int, std::string, void (GameState::*)(int, int))»
collect2: error: ld returned 1 exit status

« Последнее редактирование: 06 Октября 2015, 00:02:11 от R170 »

Оффлайн unimix

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
С делегатами в С++ ознакомлен?

Оффлайн coder-ex

  • Любитель
  • *
  • Сообщений: 71
    • Просмотр профиля
я бы порекомендовал действительно, ознакомиться с делегатами, к примеру в C++CLI (что бы понять что это такое) b pfntv ghjxbnfnm cnfnm. http://habrahabr.ru/post/78299/
Разработка торговых систем и прикладного ПО для FOREX и FORTS. Программирование на MQL4, MQL5, C++ Qt.

Оффлайн R170

  • Автор темы
  • Участник
  • *
  • Сообщений: 144
    • Просмотр профиля
Спасибою Почитаю
я бы порекомендовал действительно, ознакомиться с делегатами, к примеру в C++CLI (что бы понять что это такое) b pfntv ghjxbnfnm cnfnm. http://habrahabr.ru/post/78299/

 

Страница сгенерирована за 0.121 секунд. Запросов: 25.