首页 > 解决方案 > 使用 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_tint,一切都会正常工作。那么有没有可能使用List(size_t Size, const T& Val);usingsize_t而不是 the template<typename It> List(It It1, It It2);

标签: c++list

解决方案


推荐阅读