2017-01-30 11 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

私はそこにいてはいけないさまざまな方法を試していました。私はその機能の実装を書く方法を知りたいと思うことを無視してください – user1210000

答えて

0

あなたはCustomerクラスで定義されているベクトル: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

関連する問題