私はC++を新しくしました(私は以前はCでしたが、C++はしませんでした)。struct with struct with struct
いくつかの注文を価格レベルで並べ替えてリストにしたいと考えています。 は、だから私のリストは、内部に位置しています
- 価格水準
- その価格ですべての注文を持つ別の
std::list
。 (受注)
Order
が持つ構造体である:
#include<iostream>
#include<list>
using namespace std;
typedef struct Order {
int userid;
int qty;
} Order;
typedef struct Bid {
int price;
list<Order> Orders;
} Bid;
typedef list<Bid> bids;
int main(void)
{
bids list;
Order order_to_insert;
list.begin();
list.front().price = 13000;
order_to_insert.userid = 3;
order_to_insert.qty = 20;
list.front().Orders.begin();
list.front().Orders.front().userid =3;
list.front().Orders.front().qty = 20;
// list.front().Orders.front() = order_to_insert; // compiles even if i uncomment this.
cout << "Liste : " << list.front().price << endl;
cout << list.front().Orders.front().qty << endl;
return 0;
}
最初に最も直感的な方法を:
userid
quantity
だから私はで終了しました〜されたコメント行を使用すると、コンパイルされますが、seg faultが返されます。
私はフィールドに値を直接割り当てることにコメントしました。
これを行う適切な方法は何ですか?
- あなたはより説明的なものに 'list'を変更することを検討することをお勧めします(' bidList'などのように。)。 –
'namespace std'を避け、特に' list'を型( 'std :: list')として変数名として使うときは避けてください。 – Jarod42
C++で始めるときは、[良いC++の書籍](http://stackoverflow.com/q/388242/1782465)のリストに興味があるかもしれません。 – Angew