Vector with Pointer

Hello guys i just thinking why my code doesnt work

so i have a class Dispenser with attribute ingredient : Ingredient* and number : int;
in my Class Ingredient i have a attribute name : string

so i want to make relation between dispenser and ingredient



int main(){
vector<Dispenser*> dispensers;

Dispenser* d1 = new Dispenser;
Dispenser* d2 = new Dispenser;
Dispenser* d3 = new Dispenser;
Dispenser* d4 = new Dispenser;
Dispenser* d5 = new Dispenser;
Dispenser* d6 = new Dispenser;
Dispenser* d7 = new Dispenser;
Dispenser* d8 = new Dispenser;
Dispenser* d9 = new Dispenser;

d1->number = 1;
d2->number = 2;
d3->number = 3;
d4->number = 4;
d5->number = 5;
d6->number = 6;
d7->number = 7;
d8->number = 8;
d9->number = 9;

d1->ingredient->name.push_back("Test") // make a relation between ingredient and dispenser number.


}
when i start the program it suddenly exit.
i think my code for inserting name is wrong.

can someone help me?

> so i want to make relation between dispenser and ingredient
>> so i have a class Dispenser with attribute ingredient
there is your relationship. A dispenser has an ingredient.

> when i start the program it suddenly exit.
Blind guess: segmentation fault because you were trying to dereference an invalid pointer.
¿why do you have dynamic allocation?
http://www.cplusplus.com/forum/general/138037/
Why use a vector of pointers instead of a vector of objects?
thx guys for reply my post.

I need make the relation with vector with pointer.
any suggest for inserting the name of ingredient on dispenser?

and i think we dont need dynamic allocation.
Last edited on
Topic archived. No new replies allowed.