ひとつ気になることがあります。オーバーロードされたメンバー関数が 1 つあるクラスがあります。
class A{
public:
class const_iterator{};
class iterator : public const_iterator{};
iterator find(const K &key);
const_iterator find(const K &key) const;
};
広告。iterator は const_iterator から継承していますが、何も追加していません。
私がやりたいのは、通常の find 呼び出し const find 内です。このようなもの:
typename A::iterator A::find(const K &key){
const_iterator it(find(key));
return (*(iterator*)&it);
}
non-const find ATM の別の実装は必要ありません。このようなことは可能ですか?今は無限ループに陥っているため、find の前に「A::」を追加しても何も変わりません。