【发布时间】:2013-04-30 06:30:54
【问题描述】:
我在尝试在 STL 映射中打印成对的 int 和字符串时遇到问题:
这是我正在使用的代码:
#include <iostream>
#include <utility>
#include <map>
using namespace std;
typedef map<int,string> intID;
int main(){
intID ID;
ID.insert(pair<int,string>(123,"studentname1"));
ID.insert(pair<int,string>(124,"studentname2"));
ID.insert(pair<int,string>(122,"studentname3"));
intID::iterator IDIter;
for(IDIter = ID.begin();IDIter != ID.end();++IDIter){
cout <<"ID: " << IDIter->first <<", Name: " << IDIter->second << endl;
}
}
错误发生在", Name: " << IDIter->second 部分,<< 下划线表示“没有运算符与这些操作数匹配”
编译错误是:
错误 1 错误 C2679: 二进制 '
我正在尝试打印出这对中的第二个成员(学生名) 我是 STL 映射的新手,所以我不确定我做错了什么,我需要改变什么?
【问题讨论】:
标签: c++ stl containers