首页 > 解决方案 > C ++中的虚拟方法定义是否需要参数名称?

问题描述

这是代码:

virtual bool myFunction(const Waypoints& /*waypoints*/) {
    return false;
}

据我了解,virtual函数用于后期/动态绑定。bool是返回类型。const Waypoint&是一个常数参考。用于形参时,避免值复制,禁止被函数改变。

现在,我的问题是,我们是否需要以某种方式为这个函数的形参指定一个变量名?我的意思是,/*waypoints*/只是评论,对吧?那么形式参数在哪里呢?

标签: c++

解决方案


该方法有一个类型为 的形式参数const Waypoints&。它没有命名,因为它没有在方法体中使用。这可能是有道理的,因为同一方法的其他实现可能会使用它(注意该方法是虚拟的)。参数的名称是否/*waypoints*/被注释掉、留在原处或完全删除是一个口味问题。当方法体中未使用形式参数(确实有名称)时,一些编译器会发出警告,因此这可能是它被注释掉的原因。


推荐阅读