无法将'void(MyClass :: *)()'转换为'void(*)()

房地产

我正在尝试将函数void MainWindow :: lowPower()链接到wireningPiISR(int,int,void(*)(void)。我的问题是出现以下错误:

cannot convert 'void (MyClass::*)()' to 'void (*)()

当我试图以这种方式指向函数时:

void (MainWindow::*lowPower)(void);
wiringPiISR(4, INT_EDGE_BOTH, lowPower);

connectionPiISR的语法为:

int wiringPiISR (int pin, int edgeType,  void (*function)(void))

我无法将lowPower设为静态,因为我需要调用一些对象

如何解决此问题?

房地产

我找到了一种可能不是最好的方法,但是可能的解决方案:

在* .cpp开头:

Trigger trigger;
void interrupt()
{
    emit trigger.triggered();
}

触发器是一个非常简单的类,仅包含一个公共信号(已触发)。该信号连接到其默认构造函数MainWindow类中的公共插槽,其中,connectionPiISR也声明为:

wiringPiISR(0, INT_EDGE_BOTH, *interrupt);

我知道这不是一个完美的解决方案,因为它使用了功能指针,但是我不想更改connectionPicture.h或wiringpiing.c的代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将void(__ cdecl MyClass :: *)()转换为void *时出错

来自分类Dev

如何将“ void(MyClass :: *)(int)”转换为“ void(*)(int)”?

来自分类Dev

将void(__ cdecl MyClass :: *)()转换为void *时出错

来自分类Dev

无法将void转换为ICommand

来自分类Dev

无法将void转换为double

来自分类Dev

将std :: function <void()>转换为void(*)()

来自分类Dev

将 void (*)() 转换为 void (*)(unsigned char)

来自分类Dev

无法将void转换为java.lang.Void

来自分类Dev

无法从char *转换为void **

来自分类Dev

将int转换为void *

来自分类Dev

C:将void(*)(void *)转换为void(*)(char *)

来自分类Dev

无法将(Timer!)-> Void转换为((CFRunLoopTimer?)-> Void)!-将NSTimer扩展转换为Swift 3

来自分类Dev

无法将类型 '(() throws -> Void?) -> ()' 的值转换为预期的参数类型 '((Void) throws -> Void)?'

来自分类Dev

无法将类型“ void”隐式转换为“ int”?

来自分类Dev

无法将类型“ void”隐式转换为“ x”

来自分类Dev

无法将类型'float'隐式转换为'void'

来自分类Dev

无法将 void 转换为列表,返回已排序的列表

来自分类Dev

无法在Java中从void转换为String?

来自分类Dev

Java 错误:void 无法转换为 String

来自分类Dev

将地址转换为函数:使用“ void * void”

来自分类Dev

无法从pthread中的void *(类名)(void *)类型转换为void *(*)(void *)类型

来自分类Dev

将const char **转换为void *?

来自分类Dev

将Swift结构转换为UnsafeMutablePointer <Void>

来自分类Dev

将void *转换为动态类型

来自分类Dev

将void函数转换为char * C ++

来自分类Dev

将ListenableScheduledFuture <Void>转换为ListenableFuture <SomethingElse>

来自分类Dev

将QString转换为const void *

来自分类Dev

将void *转换为int并返回

来自分类Dev

将int函数转换为void *

Related 相关文章

  1. 1

    将void(__ cdecl MyClass :: *)()转换为void *时出错

  2. 2

    如何将“ void(MyClass :: *)(int)”转换为“ void(*)(int)”?

  3. 3

    将void(__ cdecl MyClass :: *)()转换为void *时出错

  4. 4

    无法将void转换为ICommand

  5. 5

    无法将void转换为double

  6. 6

    将std :: function <void()>转换为void(*)()

  7. 7

    将 void (*)() 转换为 void (*)(unsigned char)

  8. 8

    无法将void转换为java.lang.Void

  9. 9

    无法从char *转换为void **

  10. 10

    将int转换为void *

  11. 11

    C:将void(*)(void *)转换为void(*)(char *)

  12. 12

    无法将(Timer!)-> Void转换为((CFRunLoopTimer?)-> Void)!-将NSTimer扩展转换为Swift 3

  13. 13

    无法将类型 '(() throws -> Void?) -> ()' 的值转换为预期的参数类型 '((Void) throws -> Void)?'

  14. 14

    无法将类型“ void”隐式转换为“ int”?

  15. 15

    无法将类型“ void”隐式转换为“ x”

  16. 16

    无法将类型'float'隐式转换为'void'

  17. 17

    无法将 void 转换为列表,返回已排序的列表

  18. 18

    无法在Java中从void转换为String?

  19. 19

    Java 错误:void 无法转换为 String

  20. 20

    将地址转换为函数:使用“ void * void”

  21. 21

    无法从pthread中的void *(类名)(void *)类型转换为void *(*)(void *)类型

  22. 22

    将const char **转换为void *?

  23. 23

    将Swift结构转换为UnsafeMutablePointer <Void>

  24. 24

    将void *转换为动态类型

  25. 25

    将void函数转换为char * C ++

  26. 26

    将ListenableScheduledFuture <Void>转换为ListenableFuture <SomethingElse>

  27. 27

    将QString转换为const void *

  28. 28

    将void *转换为int并返回

  29. 29

    将int函数转换为void *

热门标签

归档