【发布时间】:2021-09-15 03:28:04
【问题描述】:
#include <stdio.h>
#include <map>
struct temp
{
int x;
int id;
};
int main()
{
temp t;
int key;
typedef std::multimap<int,struct temp> mapobj;
t.x = 10;
t.id = 20;
key=1;
mapobj.insert(pair<int,struct>key,t);
//mapobj.insert(1,t);
return 0;
}
我是 STL 多图的新手,我正在尝试将我的结构数据插入多图,但出现此错误:
main.cpp:25:11: error: expected unqualified-id before ‘.’ token
mapobj.insert(pair<int,struct temp>key,t);
^
寻求您对此的建议。
【问题讨论】:
-
typedef声明一个类型别名,而不是给定类型的变量。 -
typedef std::multimap
mapobj;需要将其更改为别名? -
这已经是一个别名。只需删除
typedef。 -
还要注意
mapobj.insert(pair<int,struct>key,t);中的拼写错误,并且在引用类型时不需要struct关键字。 -
欢迎来到 Stack Overflow。在尝试这个之前你掌握了
multimap<int, int>吗?