**已关闭。**此问题需要debugging details。它目前不接受回答。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
上个月关门了。
Improve this question
我想创建一个菜单上有4个按钮。每个按钮将导致另一个菜单与4个新按钮。同样,这些新按钮中的每一个都将导致另一个带有新按钮的菜单等等。
我计划每个按钮都有一个功能。当我按下一个按钮,相应的功能将打开一个新的菜单。在我的第一个菜单中,假设我有一个名为button1
的函数,它对应于第一个按钮。此功能将打开一个带有新按钮的新菜单。我必须将渲染器SDL_Renderer* renderer
作为&renderer
传递,并将其作为函数参数SDL_Renderer** myRenderer
。
假设我在button1
中有一个新函数,称之为button2
。button2
将打开一个带有新按钮的新菜单。如果我将渲染器作为&myRenderer
传递,那么button2
中的函数参数是否采用SDL_renderer*** newRenderer
的形式?在第10个菜单之后,功能参数是否为SDL_renderer*********** 10thRenderer
?
对我来说,这是不好看,我想知道是否有另一种方法来正确地做到这一点?
1条答案
按热度按时间8fsztsew1#
如果您只是想利用/修改同一个指向的对象,则不需要第二(或第三,或...)级间接寻址。
如果
foo(thing *a)
被称为foo(&t)
,那么foo
可以将bar(thing *b)
称为bar(a)
。它们都接收相同的指针&t
,指向相同的对象t
。在实践中: