4つの静的ベクトルがあります。私の.cppファイル(!ない私の.hファイル)で、私は、次のようなこれらのベクトルを定義します。マップに格納されているベクトルに格納されている要素の数を計算する方法
std::vector<Object*> ClassA::vecA;
std::vector<Object*> ClassA::vecB;
std::vector<Object*> ClassA::vecC;
std::vector<Object*> ClassA::vecD;
それから私は、Object型のオブジェクトの数と、これらのベクトルのそれぞれを取り込みます。
次の私は、マップを作成します。
std::map<std::string, std::vector<Object*> > cntr;
私は上からのベクトルと各ベクトルのキーとして文字列を使用して、このマップを読み込みます。
問題は、マップ内のベクトルにアクセスして、その要素の数を調べる方法です。私は試しました:
for (it = Cntr.begin(); it != Cntr.end(); it++)
{
if (it->first != token)
{
std::cout << it->first << std::endl;
int i = (it->second).size();
std::cout << "SIZE: " << i << std::endl;
}
}
私はいつも私に1の値を与えます。正しいアプローチは何ですか?
をコードは 'ループ内Cntr'は'代わりにcntr'しなければならない、と '私はint型ことを除いて(正常に見えます'は' size_t i'または 'std :: vector