これに答えるためにどのくらいの情報が必要なのか正確にはわかりませんので、さらに情報が必要な場合は教えてください.
突然このメッセージに遭遇したときに、私が書いた大きなコードを変更しています: error: type 'integer' is not a direct base of 'integer'
. 私はそれが継承の問題であることを知っていますが、他のクラスを継承していません。
この問題を引き起こしているコードは
integer(const std::string & val, uint16_t base): integer(val.begin(), val.end(), base) {}
と
integer(iterator start, iterator end, uint16_t base)
が定義されています。
これを修正するにはどうすればよいですか?
編集: -std=c++0x でコンパイルしています。答えによると、コンパイラが古い場合を除き、コンパイルできるはずです: gcc 4.6.2 と思います