相互に反復子を含む 2 つのコンテナーを作成したいと思います。中間/間接タイプを導入せずに、うまくいけばこれを行いたいと思います。これは可能ですか、それともコンテナーのデータ型のサイズを知っているかによってイテレーターの型を変更しますか?
コンパイルしたいサンプルコードを次に示します。
#include <map>
#include <deque>
#include <string>
class mapvalue_t
{
public:
std::deque< std::map<std::string,mapvalue_t>::iterator >::iterator i;
};
typedef std::map<std::string,mapvalue_t> maptype_t;
typedef std::deque< maptype_t::iterator > queuetype_t;
int main(void)
{
maptype_t m;
queuetype_t q;
}
気にしないで、今すぐコンパイルします。意図した両端キューではなく、そこにキューがありました:)