Possible Duplicate:
Overriding a Base's Overloaded Function in C++C++仮想関数の問題が
は、私のようなクラスを持って、この1:その後、
class Sub : public Object {
public:
virtual void alignment(int i);
};
:私はこのようなサブクラス化しよう
class Object {
public:
int alignment() const;
virtual void alignment(int i);
};
Sub *sub = new Sub();
sub->alignment(10);
int a = sub->alignment();
T彼はコンパイラ(clang 1.0)はエラーを生成します: "関数呼び出しに引数が少なすぎる、期待される1、0があります。"私は引数を取る仮想関数が非仮想constと混同している理由を理解していません。誰かが理由を説明できますか?
これを参照してください:http://stackoverflow.com/questions/888235/overriding-a-bases-overloaded-function-in-c/888313#888313 –
@Fred Larsonそれは私が探していた説明だった! – joshfisher