0
我正在寫一些C++代碼的樣子:繼承相關的C++編譯錯誤
class Base {
public:
virtual ~Base() {}
void foo(int a) {}
virtual void foo(int a, int b) = 0;
};
class Derived: public Base {
public:
virtual void foo(int a, int b) {}
};
int main()
{
Derived o;
o.foo(1);
return 0;
}
這將產生以下錯誤:
candidate expects 2 arguments, 1 provided
起初我以爲一個compilator錯誤的,但在嘗試過不同的結果並總是得到相同的結果後,我意識到它必須是標準的一部分。 有人可以指出這個錯誤的原因嗎?