Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
как передать функцию через указатель выдает ошибку Код: plaintext 1. 2. ' кто сталкивался подскажите как исправить Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 16:49 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Garfish, Ты пытаешься передать через указатель на функцию указатель на нестатическую функцию-член. У них разные сигнатуры физически, и кроме этого в С++ это разные типы данных, неприводимые друг к другу. Если тебе нужно передавать указатель на такую функцию: Код: plaintext 1. и она должна быть функцией класса (методом), то эта функция должна быть статической, т.е. не иметь неявного параметра this. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 18:40 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, это для меня новое можешь показать как должена выглядеть статическая функцией класса (методом) без this ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 18:48 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 18:51 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, спасибо, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 18:55 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, а как уйти от static, я сделал у меня в эту функцию статик она требует и входящие в этй функции и переменные сделать тоже типом статик, а на переменные в классе тоже ругается illegal reference to data member 'ClassB::s' in a static member function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 19:37 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
GarfishMasterZiv, а как уйти от static, я сделал у меня в эту функцию статик она требует и входящие в этй функции и переменные сделать тоже типом статик, а на переменные в классе тоже ругается illegal reference to data member 'ClassB::s' in a static member function В функцию не могут входить функции. Я ничего не понимаю. Код полностью и тексты ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 19:50 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 19:52 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
ругается на s error C2597: illegal reference to data member 'ClassB::s' in a static member function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 19:53 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Garfish, это невалидный код. с 1-ой строчки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 19:55 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 19:56 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Статическая фукнция ClassB::F2 не может иметь доступ к нестатическим полям объекта класса. Просто потому, что она не имеет неявной ссылки на объект класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 19:58 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, а как сделать явную ссылку на объект этого класса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:00 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Garfish, Ещё одним явным параметром функции. Но если ты так сделаешь, то эта функция снова перестанет удовлетворять твоей нужной сигнатуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:09 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, и как все это обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:11 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Garfish, Так зависит от того, куда ты хочешь прийти, наверное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:12 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, в классе ClassB, у меня выполняются расчеты, он содержит функции и массивы, для упрощения я написал код в несколько строк, функция BFunc(int t) вызывается через обратный вызов, она и вызывает другие функции, F2(int C1)в которых работа с массивами и переменными, по сути мне надо отладить последний листинг кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:24 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Garfish, Ну так может быть ты покажешь этот свой замечательный код в натуральном виде ? В твоём последнем сообщении нет никакой новой информации -- во всех классах есть данные и код, и по названию топика уже можно предположить, что ты хочешь где-то вызывать callback. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:27 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Garfish , Предваряя всё остальное, могу также предложить расширить определение типа твоей фукнции с Код: plaintext 1. на Код: plaintext 1. или Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:33 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Garfishи как все это обойти? Выкинуть к ЧМ все эти классы и вернуться к старому доброму процедурному программированию. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:34 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, код большой я его специально упростил что бы на пальцах была видна суть, делаю расчет распределения напряжений методом конечным элементов, несколько методов 3-5-...-n точечная задача. Создаются 2 класса, в ClassA задаются переменные, условия, диапазоны расчетов, конечные условия, в классе ClassВ методы расчетов и оперируемые данные инициализируются 2 класса, задаются данные Код: plaintext 1. 2. 3. 4. 5. и запускается рассчет Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:42 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, расширим Код: plaintext 1. а что делать с классом ClassA в F2, как его использовать? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:51 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Я слышал, что в С++ есть какая-то фигня по имени pointer-to-member, но так и не понял как ими пользоваться. Может, тебе и подойдёт, раз уж ты так подсел на ООПу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 20:59 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
вот так последний вариант этого же кода Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 21:05 |
|
||
|
как передать указатель на функцию?
|
|||
|---|---|---|---|
|
#18+
Garfish, решено, всем спасибо за помощь Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2013, 21:50 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38469108&tid=2019859]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 308ms |

| 0 / 0 |
