我在模板对象上使用push_back非常困难。任何人都可以解释为什么这有效
sizeof
但这不会。
list<int> mylist;
int myInt;
mylist.push_back(myInt);
答案 0 :(得分:2)
列表是一些模板化对象的列表。使用以下命令实例化int对象列表:
list<int> mylist;
此列表现在“知道”它将管理int对象。
其中一个列表方法是push_back(),它将模板化对象类型的对象添加到列表的末尾。
使用以下命令实例化KeyValuePair对象列表:
list<KeyValuePair<T>> mylist;
第二个列表用于管理KeyValuePair对象
现在,如果您尝试将int对象添加到KeyValuePair对象列表中,则会失败,因为此列表是KeyValuePair对象的列表,而不是int对象。
答案 1 :(得分:0)
声明第二个列表存储KeyValuePair<T>
类型的对象。这就是为什么它不允许你的int类型的push_back()。