gpt4 book ai didi

c++ - 无论签名如何,函数指针都有效?惊喜

转载 作者:行者123 更新时间:2023-11-30 03:04:21 26 4
gpt4 key购买 nike

<分区>

我正在实现一个用于测试目的的小型库,学习有关标准 C++ 中的事件处理和声明事件。

经过一段时间的努力和调试我的生物,我终于让它工作了!!

毕竟这是示例代码:

#include "Event.h"
#include "Handler.h"
using namespace System; // lol yeah, I wrapped all into namespace called System (like .NET) :D

//this is the actual event trigger function:
int x(int) {
Write "event!!";
return 0;
}
typedef void (*EventHandler)(); //this is funny( pointer to int(*)(int)


//simple implementing new keywords: (macros and typedefs)

int main() {
event test; //new event
Handler hnd(test, EventHandler(x)); // EventHandler takes void(*)() NOT int(*)() !!!
emit(test); //raise event triggers the x function with no problem
return 0;
}

为什么编译没有错误??

我会粘贴所有代码,但它很复杂...

我的问题是:我很困惑 EventHandlertypedef 是如何正常工作的?

编译输出很好,无论“事件触发函数”的签名是什么都没有错误。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com