0
下記のコードの場所に表示される商品リストは、タイプitemのベクトルであり、タイプitemには2種類のベクトルがあり、1つは買い手、もう1つは売り手です。基本的には、ここでローカルオブジェクトのすべてのメモリを共有している可能性があります。明らかにCのコピーコンストラクタは可能ではありません。私はこれにどのようにアプローチすべきですか? btw..vectorにメンバー "void ** obj"があります。 C++のように参照の公式という概念が存在しない、私は、これはCで良いだろう知っ++が、私はCでその豪華さにCでベクトルにオブジェクトを追加する方法は?
if(b->location->commodity != NULL){
trader s;
s.store = b->location;
s.distance = i;
int index = search_items(commodity_list, b->location->commodity->name);
if(index == -1){ //this is a new commodity, not found in commodity list
item it; //create a new commodity in list
v_init(&it.sellers);
v_init(&it.buyers);
it.name = b->location->commodity->name;
if(b->location->type == LOCATION_SELLER){
v_add(&it.sellers, &s); //add buyer/seller to list of patrons in said commodity
} else {
v_add(&it.buyers, &s);
}
v_add(commodity_list, &it); // add commodity to list of commodities
} else { //add seller/buyer to existing item in the commodity list
item* it = ((item*)v_get(commodity_list, index));
if(b->location->type == LOCATION_SELLER){
v_add(&it->sellers, &s);
} else {
v_add(&it->buyers, &s);
}
}
}
はなぜあなたのベクトルの実装では、ボイド* OBJの代わりに**無効を宣言していませんか? – zerek
申し訳ありません、無駄です** – GCGsauce
どのように私はそれに物を追加する必要がありますので、メモリdoesntが失われるのですか? – GCGsauce