2012-06-06 44 views
6

Tôi có tờ khai (hoặc tương tự)đối số mẫu không hợp lệ trên bản đồ std :: map <std :: string, Cổ *> & cổ phiếu

std::map< std::string, Stock*> &stocks; 

khắp mã của tôi. Eclipse không thích điều này và tạo ra một lỗi "đối số mẫu không hợp lệ".

Cổ được khai báo là:

class Stock { 

public: 
    Stock(std::string, qbbo::Financial_status_indicator, qbbo::Security_class, 
      qbbo::Current_trading_state, 
      qbbo::Market_category, qbbo::Reg_sho_action); 
    ~Stock(); 
    void setFinancialStatusIndicator(qbbo::Financial_status_indicator financialStatusIndicator); 
    void setSecurityClass(qbbo::Security_class securityClass); 
    void setCurrentTradingState(qbbo::Current_trading_state tradingState); 
    void setMarketCategory(qbbo::Market_category marketCategory); 
    void setREGShoAction(qbbo::Reg_sho_action regSHOAction); 
    bool isStockTrading(); 

    private: 
    enum StockState { 
     STOCK_STATE_OK, STOCK_STATE_UNKNOWN, STOCK_STATE_UNEXPECTED_CHARACTERISTIC 
    }; 

    std::string name; 
    int inventory; 
    StockState currentState; 

    // Expected values initialised in constructor 
    qbbo::Financial_status_indicator expectedFinancialStatusIndicator; 
    qbbo::Security_class expectedSecurityClass; 
    qbbo::Current_trading_state expectedCurrentTradingState; 
    qbbo::Market_category expectedMarketCategory; 
    qbbo::Reg_sho_action expectedRegSHOAction; 

    // Actual values as set by messages 
    qbbo::Financial_status_indicator financialStatusIndicator; 
    qbbo::Security_class securityClass; 
    qbbo::Current_trading_state currentTradingState; 
    qbbo::Market_category marketCategory; 
    qbbo::Reg_sho_action regSHOAction; 

    void nextState(); 
}; 

Tôi không thể xem whats hợp lệ về tuyên bố này và nó biên dịch tốt. Có cái gì tôi đang mất tích và Eclipse đang bắt?

ngắn Self chứa đúng Ví dụ

#include <string> 
#include <map> 

#include "stock.h" 

int main() { 
    std::map<std::string, Stock*> stocks; 
} 
+0

Lớp học của bạn có được khai báo trước khi bạn sử dụng 'bản đồ' không? – Pubby

+0

Miễn là bạn khởi tạo chính xác tham chiếu của mình, không có gì sai với mã AFAICT của bạn. Tôi đã không nhìn vào mã của 'Stock', vì nó có lẽ không liên quan: vì bạn đang lưu trữ con trỏ, thậm chí một khai báo đơn giản là đủ (xem [ở đây] (http://ideone.com/Vzg2w)). Bạn sẽ phải cung cấp thêm thông tin, lý tưởng là [SSCCE] (http://homepage1.nifty.com/algafield/sscce.html). –

+0

Có phải 'std :: string' được khai báo trước khi bạn sử dụng' map' không? –

Trả lời

Các vấn đề liên quan