簡體   English   中英

錯誤:“類 Processus”中的“向量”<double> ' 不命名模板類型|</double>

[英]error: 'vector' in 'class Processus<double>' does not name a template type|

我的以下代碼有問題:

template<typename T>
class Processus {
public:
    typedef pair<double, T> state;
    typedef vector<state> result_type;

    Processus(int n = 0) : v(n+1) {}
    ~Processus() {};
    virtual result_type operator()() = 0;

    auto begin() const { return v.begin(); };
    auto end() const { return v.end(); };

    pair<T, T> minmax() const;

protected:
    vector<state> v;
};

template <typename T>
ostream& operator<<(ostream& os, const Processus<double>::vector<state>& P) {
    for (auto i = P.begin(); i != P.end(); ++i) os << i->first << ';' << i->second << endl;
    return os;
};

我有以下錯誤:

錯誤:“類 Processus”中的“向量”未命名模板

為線

ostream& operator<<(ostream& os, const Processus<double>::vector<state>& P) {

謝謝您的幫助 !

看起來是因為vector未在 class Processus中定義。

可能你的意思是這樣的:

ostream& operator<<(ostream& os, const Processus<double>::result_type& P) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM