Ich bin neu in C++ (Ich habe C vor, aber nie C++) Ich glaube, ich habe Syntax-Problem.C++ std :: Liste mit Struktur mit Liste mit Struktur
Ich möchte einige Bestellungen nach Preisniveau in eine Liste sortieren. Also meine Liste Positionen mit innen:
- das Preisniveau
- andere
std::list
mit allen Aufträgen zu diesem Preis. (Aufträge)
Ein Order
ist eine Struktur mit:
userid
quantity
Also habe ich mit endete:
#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;
}
die intuitive Art und Weise zunächst war zu Benutzt die kommentierte Zeile, kompiliert sie aber gibt Seg Fehler.
Ich habe kommentiert, um Werte zu Feldern direkt zuzuweisen und es auch Fehler zu segmentieren.
Was ist der richtige Weg, das zu tun?
es verwirrend ist eine Variable nach dem Typ zu nennen - Sie könnten zu ändern 'list', um etwas mehr beschreibend betrachten wollen (wie' bidList' eg.). –
Vermeiden Sie 'namespace std' zu verwenden und insbesondere, wenn Sie' list' als Typ ('std :: list') und als Variablennamen verwenden. – Jarod42
Wenn Sie mit C++ beginnen, könnten Sie an unserer Liste der [guten C++ Bücher] (http://stackoverflow.com/q/388242/1782465) interessiert sein. – Angew