ベクトルがあり、その要素を次の型の関数に渡す必要があります。
bool doIt(MyClass &a);
だから私は後で行う必要があります:
vector<MyClass> v;
doIt(v[2]);
私はそれを正しく行っているかどうかわかりません...
ベクトルがあり、その要素を次の型の関数に渡す必要があります。
bool doIt(MyClass &a);
だから私は後で行う必要があります:
vector<MyClass> v;
doIt(v[2]);
私はそれを正しく行っているかどうかわかりません...
私はそれを正しく行っているかどうかわかりません...
はい、サンプルコードではベクトルに要素が含まれていないため、インデックス2が範囲外であり、次の式であることを除いて、正しく実行しています:v
v[2]
未定義の動作が発生します。ただし、これを修正するにはこれで十分です(MyClass
デフォルトで構築可能な場合):
vector<MyClass> v(3);
// ^
// Creates a vector of 3 default-constructed
// elements of type MyClass
doIt(v[2]);
doIt(v[2]);
が有効なインデックスである場合、それは完全に正しい2
です (つまり、 より小さいことを意味しますv.size()
)。参照によって引数を渡します。