我正在尝试学习c++并遵循this online book,尽管大多数情况都很好,但有时我感觉事情并没有那么好解释。

在第163页,当谈论链接列表时,他显示了以下代码:

p_enemies = EnemySpaceShip* addNewEnemyToList( p_enemies );

它并没有完全用上下文填充,但是我相信p_enemies将是一个声明的指针,而addNewenemyToList将是一个定义的函数。我想知道的是表达式将如何工作,并且这是正确的代码。这对我来说没有任何意义,因为它看起来像方法声明,返回类型就在那里,但是赋值之后就在那里。这是什么?

最佳答案

该代码段没有意义。

这是我可以看到此片段有效的唯一方法:

p_enemies = (EnemySpaceShip*) addNewEnemyToList(p_enemies);

结果:
如果p_enemies是EnemySpaceShip类型的指针,则在将返回值转换为EnemySpaceShip指针后,会将“addNewEnemyToList”功能的返回值分配给p_enemies。
否则,该行将失败。

08-06 13:37