c++ - 使用 size_t 的列表实现与想要的构造函数不匹配
问题描述
我尝试制作一个简单的 C++std::list
实现,但我的构造函数遇到了问题。我有一组构造函数:
List();
List(size_t Size);
List(size_t Size, const T& Val);
List(const std::initializer_list<T>& Init);
template<typename It> List(It It1, It It2);
还有一段创建 List 类实例的代码:
int main()
{
List<int> l(10, 9);
}
显然,我想利用这个构造函数:
List(size_t Size, const T& Val);
但相反,它使用了这个构造函数:
template<typename It> List(It It1, It It2);
我知道这size_t
是问题的根源。如果我更改size_t
为int
,一切都会正常工作。那么有没有可能使用List(size_t Size, const T& Val);
usingsize_t
而不是 the template<typename It> List(It It1, It It2);
?
解决方案
推荐阅读
- css - 如何强制电子根据新的 css 更新渲染?
- java - OpenCsv - 在字段上设置自定义验证
- sql - 在数据库中存储 .sql 类型文件的正确方法是什么?
- javascript - FormData 追加列表对象
- python - Python EXIF 找不到 HEIC 文件的拍摄日期,但在其他工具中可见
- python-3.x - 将带有“\x”字符的字符串转换为浮点数
- java - 如何在 AWS CDK java 中向事件规则添加目标?
- javascript - HTML5 自定义模式验证
- javascript - React-Select 触发选项的选择
- google-kubernetes-engine - GKE 中的 ISTIO 与现有应用程序不工作