次のコードをコンパイルしようとすると、エラーが発生します。
vector<string> articles;
articles.push_back("Article 1...");
articles.push_back("Article 2...");
articles.push_back("Article 3...");
articles.push_back("Article 4...");
vector<string>::iterator beg = articles.begin(), end = articles.end();
vector<string>::iterator mid = (end - beg) / 2;
mid を次のように変更した場合にのみコンパイルされます。
vector<string>::iterator mid = articles.begin() + (end - beg) / 2;
初期化で何が.begin()
変わる?
また、次のコードも中点を与えるべきではありませんか? (.begin() がないとコンパイルできないので追加)
vector<string>::iterator mid = articles.begin() + articles.size() / 2;
同じ結果が得られます。
ありがとう。