在类Bat代码中,这给了我错误:重载的"Bat()"的调用是不明确的Bat(;)

In class Bat code, which giving me error: call of overloaded ‘Bat()’ is ambiguous Bat();

本文关键字:Bat quot 不明确 调用 重载 代码 错误 在类      更新时间:2023-10-16

此代码:

class Bat{
public:
Bat();
Bat(int i=0);
virtual ~Bat();
protected:
Bat(float);
};

正在给我错误:call of overloaded ‘Bat()’ is ambiguous Bat();

请帮我找出错误。

您同时拥有:Bat();Bat(int i=0);

尝试在不为构造函数指定参数的情况下创建Bat可能会调用其中任何一个,而编译器无法知道是哪一个。

处理这个问题的通常方法是消除不带参数的,或者消除带参数的默认值。