typedef struct IMainTask
{
void (*RunMainTask)(struct IMainTask* pThis, SerialPortBase* pSerialPort);
BaseTask* pBaseTask;
} IMainTask;
IMainTask* GetMainTask(const uint8_t* msgs){...}
IMainTask* pMainTask = GetMainTask(msgs);
pMainTask->RunMainTask(pMainTask, pSerialPort);
1)pMainTask是指向IMainTask的,函数GetMainTask(msgs)返回应该是地址值,是把一个地址给了这结构体吗?
2)pMainTask->RunMainTask(pMainTask, pSerialPort); 中pMainTask可以访问RunMainTask?怎么理解 pMainTask又指回了自己IMainTask?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
想了一会大致明白你的意思, 这不是类, 这结构体与被它的函数指针成员, 所指着的函数没有任何从属关系, 所以没什么上一层的关系
一周热门 更多>