【发布时间】:2011-06-21 12:51:36
【问题描述】:
它尝试了类似的方法,但不起作用。有没有办法获得类似的效果?
class A
{
public:
int foo();
void bar(int b = foo());
};
【问题讨论】:
-
您到底想完成什么?给我们一个你想做什么的真实例子。
-
我有一个像这样的成员函数 getDistance(Units units = getDefaultUnits());所以我不必指定单位,除非我想要默认值以外的东西。我还考虑过将 DEFAULT 添加到 Units 枚举中。
-
为不同的单位添加不同的类型并在所有不同的单位之间添加隐式转换函数可能是一个更好的主意。这样,您可以在需要它们的地方显式使用单元,并让编译器负责其余的工作!请记住,在 C++ 中使用类型非常便宜,如果使用正确,通常是免费的。
标签: c++ member-functions default-parameters