0

it.first、it.secondで印刷しようとすると、機能しません。これらは有効な機能でもありますか?

#include <iostream>
#include <string>
#include <map>
using namespace std;
int main()
{
map<string, int> workers;

workers["John"] = 1;
workers["Frank"] = 2;

for(map<string, int>::iterator it = workers.begin(); it != workers.end(); ++it) {
        cout<<it.first()<<":"<<it.second()<<endl;
}

return 0;
}
4

1 に答える 1

1

firstおよびsecondはメンバー関数ではなく、プレーンメンバーオブジェクトです。

cout << it->first << ":" << it->second << endl;

パレンがないことに注意してください。これらは関数呼び出しではありません。

于 2013-01-30T03:47:56.307 に答える