我在我的项目中有一个“Product”类,在main函数中我创建了新的Product项 - “productsListHead” . 在我的main函数中,我调用了类“addProduct”函数,该函数将产品添加到类链表中 . 为了使程序更有条理,我想将其分解为函数 . 我想创建一个调用“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);
}
这是List.cpp中“addProduct”的 Headers :
void Product::addProduct(Product* head){...}
它没用 . 我怎样才能使用“productsListHead.addProduct(&productsListHead);”在products_add?
3 回答
您的
接受一个对象但你用指针调用它
顺便说一句:请注意,您当前的代码每次都传递相同的对象 .
products_add函数的这个签名接受
Product Object
而不是Product Object
的地址这个电话应该是
或功能应该是
您按值传递Product,因此创建了对象的临时副本 . 阅读本文:http://www.cplusplus.com/articles/z6vU7k9E/
TLDR: