C 函数指针,其签名包含一个参数,该参数的类型是指向与第一个函数指针相同类型的指针
我意识到我不知道正确的语法:C 函数指针,其签名包含一个参数,该参数的类型是指向与第一个函数指针相同类型的指针,c,function-pointers,typedef,C,Function Pointers,Typedef,我意识到我不知道正确的语法: typedef ResultType (*StateFunctionType)(StateFunctionType* currentStateFuncPtr, NewDataType newData); 那我该怎么做呢?GCC给了我 错误:未知类型名称“StateFunctionType” 我正在编写一个状态机,它使用一个函数指针跟踪当前状态,并在该状态下执行需要执行的操作 当发生此状态机之外的事情时,它们将导致调用当前状态函数,并带有说明这些外部更改的参数。有时
typedef ResultType (*StateFunctionType)(StateFunctionType* currentStateFuncPtr, NewDataType newData);
那我该怎么做呢?GCC给了我
错误:未知类型名称“StateFunctionType”
我正在编写一个状态机,它使用一个函数指针跟踪当前状态,并在该状态下执行需要执行的操作
当发生此状态机之外的事情时,它们将导致调用当前状态函数,并带有说明这些外部更改的参数。有时,当前状态可能需要将当前状态更改为其他状态。起初,我将一个this*
传递给一个结构,该结构包含一些需要更新的数据,包括当前状态函数指针,但当我细化代码时,当前状态实际需要的来自该结构的唯一数据是指向当前状态的指针,以便它可以更新它
我知道我可以通过类型转换或将this*
留给包含状态函数指针的结构来解决这个问题,但我希望避免类型转换(让编译器对我大喊数据类型错误),我真的很困扰,我想不出如何简明扼要地写出一些概念上非常简单的东西(至少在我的脑海中是这样)。我希望我能想出一个更简洁的方式来问这个问题
(就我而言,请不要太傻)我认为这是事实,简短的回答是“你不能,你必须打字”。