我正在编写服务器代码,并且已经与所有客户端建立了 TCP 连接。现在,当客户端发送数据包时,我会检查数据包的操作码以便处理它。
目前,我有一个 OpcodeHandler 结构,该结构当前包含String name
但我也希望它有一个 C++ 类型的函数指针,该指针调用另一个函数,这样当我创建一个以该结构为类型的数组并像这样初始化数组时:
opcodes = new OpcodeHandler[max_opcodes]
{
new OpcodeHandler("someopcodenamehere", Somefunctionname);
// more new's..
}
构造函数的第二个参数中命名的函数:'Somefunctionname' 在调用函数指针时被调用。我听说委托可以做到这一点,因为它们的行为就像 C++ 中的函数指针,但我所有的尝试都是无用的。