【发布时间】:2018-08-15 11:03:49
【问题描述】:
我已经编写了自己的类,我想将它插入到地图中。请看下面的例子:
#include <iostream>
#include <string>
#include <map>
#include <memory>
#include <mutex>
template <class T>
class A {
public:
T a;
A() = default;
~A() = default;
A(T i) { a = i; }
};
int main()
{
std::pair<int,A<int>> p;
p = std::make_pair<int,A<int>>(9,A<int>(1));
std::map<int, A<int>> m;
m.emplace(1,A<int>(1));
}
当我尝试编译它时,我得到一个巨大的错误。请帮忙解释一下。 :)
在此处查看错误: http://cpp.sh/9nc35
编辑: 我有错字,谢谢!不过,我首先遇到的另一个问题现在出现了。似乎是因为互斥锁?为什么?
【问题讨论】:
-
我通常会全力以赴将错误消息作为文本发布在帖子中,但是是的......在这种情况下......我不知道......它真的很长而且它是甚至不清楚它的哪一部分是重要的。等不及概念在标准库中实现并摆脱这些不可读的模板错误。
-
链接的程序没有给出任何编译错误。被修改了吗?同样,请不要以使其不再是问题或使现有答案不正确或不适用的方式“修复”问题中的代码。如果您随后遇到不同的问题并需要帮助,您可以针对该问题创建另一个问题。
-
我仍然有问题,它无法编译。我看到我必须在“获取 url”之前尝试运行它...
-
所以现在你的问题主要是讨论一个不再存在的问题(并且没有在你的代码中展示),但是你有一个新的和不同的问题,你根本没有描述过。这不是使用问答网站的好方法,因为问题和答案不再有用相关。只需提出一个新问题描述您的实际问题并显示任何错误。
标签: c++ class templates stdmap