我的项目中有一个"产品" class,在main函数中我创建了新的Product项目 - " productsListHead"。在我的主要功能中,我称之为" addProduct" function,将产品添加到类链表。为了使程序更有条理,我想将其分解为函数。我想创建一个调用" addProduct"功能。这就是我试图做的事情: main.cpp中:
int main(){
int option;
Product productsListHead;
do{
cin>>option;
if(option==1)
products_add(&productsListHead);
}while(option!=0);
return 1;
}
void products_add(Product productsListHead){
productsListHead.addProduct(&productsListHead);
}
这是" addProduct"的标题。在List.cpp中:
void Product::addProduct(Product* head){...}
它没有用。我如何使用" productsListHead.addProduct(& productsListHead);"在products_add?
答案 0 :(得分:0)
您
products_add(&productsListHead);
获取一个对象但是使用指针
调用它npm install -g bower@latest
顺便说一句: 请注意,您当前的代码每次都会传递相同的对象。
答案 1 :(得分:0)
void products_add(Product productsListHead)
products_add函数的此签名接受Product Object
而不是Product Object
的地址
这个电话应该是
products_add(productsListHead);
或功能应该是
void products_add(Product* productsListHead)
答案 2 :(得分:0)
您按值传递Product,因此会创建对象的临时副本。 阅读:http://www.cplusplus.com/articles/z6vU7k9E/
TLDR:
void products_add(Product& product);