使用[]時(shí),為什么C ++ map類型參數(shù)需要空構(gòu)造函數(shù)?另請(qǐng)參見(jiàn) C ++標(biāo)準(zhǔn)列表和默認(rèn)構(gòu)造類型不是一個(gè)主要問(wèn)題,只是煩人,因?yàn)槲也幌M业念愒跊](méi)有特定參數(shù)的情況下被實(shí)例化。#include <map>struct MyClass{
MyClass(int t);};int main() {
std::map<int, MyClass> myMap;
myMap[14] = MyClass(42);}這給了我以下g ++錯(cuò)誤:/usr/include/c++/4.3/bits/stl_map.h:419:錯(cuò)誤:沒(méi)有用于調(diào)用'MyClass()'的匹配函數(shù)如果我添加一個(gè)默認(rèn)構(gòu)造函數(shù),這編譯很好; 我確信它不是由不正確的語(yǔ)法引起的。
- 3 回答
- 0 關(guān)注
- 661 瀏覽
添加回答
舉報(bào)
0/150
提交
取消