2017-01-30 9 views
0

Я попытался реализовать вектор, определенный в заголовке, но я не знаю, как это сделать.Как определить вектор получения недопустимого использования template-name 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