2017-01-30 41 views
0

我試圖實現在頁眉中定義的向量,但我不知道如何。如何定義無效使用模板名稱的向量std :: vector無參數列表

.HPP文件:

#ifndef CUSTOMER_HPP 
#define CUSTOMER_HPP 
#include<vector> 
#include "Product.hpp" 

{ 
    private: 
     std::vector cart;   
     std::string name;   
     std::string accountID;   
     bool premiumMember; 

    public:  
     Customer(std::string n, std::string a, bool pm);   
     std::string getAccountID(); 
     std::vector getCart(); 
     void addProductToCart(std::string); 
     bool isPremiumMember(); 
     void emptyCart(); 
}; 

#endif 

這是實現文件我寫的標題,也有一些錯誤。我不知道如何編寫矢量的實現。

的.cpp實現:

#include <iostream> 
#include <string> 
#include <vector> 
#include "Customer.hpp" 

using namespace std; 

string accountID; 
bool premiumMember; 

Customer::Customer(std::string n, std::string a, bool pm) 
{ 
    name=n; 
    accountID=a;  
    premiumMember=pm;  
} 

std::string Customer:: getAccountID() 
{ 
    return accountID; 
} 

void Customer:: addProductToCart(accountID,std::vector<string>cart) 
{ 
    vector<string>::Type intVector; cart; 
    cart.pushback(accountID); 
} 

bool Customer:: isPremiumMember() 
{ 
    return premiumMember; 
} 

void Customer:: emptyCart() 
{ 
    cart.clear(); 
} 
+0

載體 ::類型intVector;大車;這是什麼使用矢量 intVector,cart; – user1438832

+0

sry我正在嘗試不同的方式,不應該在那裏。忽略我想知道如何編寫該功能的實現 – user1210000

回答

0

您在您的客戶類中定義的矢量:std::vector cart;是不是正確定義的類型。您需要指定向量應包含的類型

std::vector<std::string> cart;

你的方法getCart也使用不完整的類型,應該std::vector<std::string> getCart()

那麼,你的這個方法的聲明:

void addProductToCart(std::string);

不匹配的定義:

void Customer:: addProductToCart(accountID,std::vector<string>cart)

我懷疑你想要的方法是這樣的:

void Customer:: addProductToCart(std::string item) 
{ 
    cart.pushback(item); 
} 
+0

謝謝你的幫助:)它看起來像它的工作。現在它沒有顯示任何錯誤。現在我有另一種方法std :: vector getCart();如何從該函數返回該向量 – user1210000

相關問題