可以std::list<;char>;转换为标准::列表<;int>;在c++; 我在UNI的家庭作业中有这个问题。STD:列表字符可以转换成STD:C++中的int int。我希望尽快得到正确的答案。 < P> >不可能用一种简单的方式来做,例如: std::list<char> charList {1, 2, 3, 4}; std::list<int> int list = charList; //compiler error std::list charList{1,2,3,4}; std::list int list=charList//编译错误
但您可以将列表重建为可以std::list<;char>;转换为标准::列表<;int>;在c++; 我在UNI的家庭作业中有这个问题。STD:列表字符可以转换成STD:C++中的int int。我希望尽快得到正确的答案。 < P> >不可能用一种简单的方式来做,例如: std::list<char> charList {1, 2, 3, 4}; std::list<int> int list = charList; //compiler error std::list charList{1,2,3,4}; std::list int list=charList//编译错误,c++,C++,但您可以将列表重建为std::list“手动”(): std::list charList{1,2,3,4}; std::list intList(charList.begin(),charList.end()); 使用std::list的迭代器构造函数时,编译器只需执行一个转换:char->int。一个隐式转换是非常好的,所以它可以工作。但是从编译器的角度来看,std::list和std::list是完全不相关的类型,因此它不知道如何将它们转换成另一种类型。不清楚或太宽泛:请用a阅读。你理解
std::list
“手动”():
std::list charList{1,2,3,4};
std::list intList(charList.begin(),charList.end());
使用
std::list
的迭代器构造函数时,编译器只需执行一个转换:char
->int
。一个隐式转换是非常好的,所以它可以工作。但是从编译器的角度来看,std::list
和std::list
是完全不相关的类型,因此它不知道如何将它们转换成另一种类型。不清楚或太宽泛:请用a阅读。你理解int和char之间的区别吗?你也可以在一个循环中复制整个东西吗?如果是这样的话,每个memeber只需要a=b,因为int向后兼容char
std::list<char> charList {1, 2, 3, 4};
std::list<int> intList(charList.begin(), charList.end());