タイプのオブジェクトを含む構造coord
とベクトルがありますcoord
:
struct coord
{
int x1;
int x2;
};
vector<coord> v[n];
ここで、(ベクトル宣言の直後に)何かをvector
vに入れようとするとv[0].x1=2
、コンパイラーは次のようなエラーを出します。
'class std::vector<coord, std::allocator<coord> > has no member named x1'
しかし、座標を格納するためtemp
にタイプのオブジェクトを使用する場合、次のcoord
ようなベクトルを定義します
vector<coord> v //i.e without specifying size of vector
、ベクターにプッシュしてからアクセスしv[0].x1
てみてください。正常に動作します。
では、なぜ私は最初の方法ではなく2番目の方法を使用してベクトルに入れることができないのですか?