1

私の質問が初心者向けである場合は申し訳ありませんが、解決策が見つかりません。

inNext という名前のマップを持つ Transition という名前のクラスがあり、この Transition オブジェクトを出力したいのですが、(マップ クラスから) 「begin または end メンバーが見つかりません」というエラーが表示されます。

class Transition{

public:
    Transition():inNext(){};
    ~Transition(){};

    map<string, string>& getTransition(){
        return inNext;
    }

    void setTransition(string a, string b){

        inNext.insert(pair<string,string>(a,b));
    }

    void printTransition(Transition a){
        map <string, string>::iterator it;
        for(it = a.begin(); it != a.end(); it++){

            cout << (*it).first << ","<<(*it).second << endl;
        }

    }


private:
    map<string, string> inNext;

};
4

2 に答える 2

1

あなたのメソッドは奇妙です:これはメンバー関数であり、引数として別のインスタンスを受け取りますTransition(理由もなくそれをコピーします)。あなたはおそらくしたいです

void print() {
    // you want to print the content of the map inNext:
    for(map <string, string>::iterator it = inNext.begin(); it != inNext.end(); it++) {
        cout << it->first << "," << it->second << endl;
    }
}

これは次のように呼び出されます。

Transition myTransition = ...;

myTransition.print();
于 2013-10-15T19:54:10.770 に答える