2015-04-24 125 views
-5

我在我的項目中有一個「Product」類,並在主函數中創建了新的Product item - 「productsListHead」。在我的主要功能中,我稱之爲「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); 
} 

這是 「addProduct命令」 的List.cpp標題:

void Product::addProduct(Product* head){...} 

它沒有工作。我如何使用「productsListHead.addProduct(& productsListHead);」在products_add中?

+3

「它沒有工作」 ..究竟是你想什麼,究竟是什麼不起作用? – Vinzenz

+1

你有什麼錯誤?這可能會首先提出一個好主意。 –

+0

當我使用「productsListHead.addProduct(&productsListHead);」在主要功能中,它添加產品。但我想在另一個功能中使用它。當上面的代碼有編譯錯誤 – hhgjgj

回答

0

void products_add(Product productsListHead) 

需要一個對象,但你怎麼稱呼它使用指針

products_add(&productsListHead); 

BTW:你目前的代碼通過相同的對象,每次 通知。

0
void products_add(Product productsListHead) 

的products_add功能的這個簽名接受Product Object並沒有解決Product Object

這個電話應該是

products_add(productsListHead); 

或功能應該是

void products_add(Product* productsListHead) 
+0

thx它修復它。我沒有注意到我傳遞了一個指針...... – hhgjgj

相關問題