为了账号安全,请及时绑定邮箱和手机立即绑定

使用[]时,为什么C ++ map类型参数需要空构造函数?

使用[]时,为什么C ++ map类型参数需要空构造函数?

C++
紫衣仙女 2019-08-27 15:44:11
使用[]时,为什么C ++ map类型参数需要空构造函数?另请参见 C ++标准列表和默认构造类型不是一个主要问题,只是烦人,因为我不希望我的类在没有特定参数的情况下被实例化。#include <map>struct MyClass{     MyClass(int t);};int main() {     std::map<int, MyClass> myMap;     myMap[14] = MyClass(42);}这给了我以下g ++错误:/usr/include/c++/4.3/bits/stl_map.h:419:错误:没有用于调用'MyClass()'的匹配函数如果我添加一个默认构造函数,这编译很好; 我确信它不是由不正确的语法引起的。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 645 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信