修复xutility的错误?

时间:2011-12-29 03:33:57

标签: c++

我正在将矢量更改为列表。我修复了除了这些之外的所有错误:

Error   16  error C2784: 'bool std::operator <(const std::stack<_Ty,_Container> &,const std::stack<_Ty,_Container> &)' : could not deduce template argument for 'const std::stack<_Ty,_Container> &' from 'std::list<_Ty>::_Iterator<_Secure_validation>'   c:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility    2010
Error   17  error C2784: 'bool std::operator <(const std::stack<_Ty,_Container> &,const std::stack<_Ty,_Container> &)' : could not deduce template argument for 'const std::stack<_Ty,_Container> &' from 'std::list<_Ty>::_Iterator<_Secure_validation>'   c:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility    2010
Error   18  error C2784: 'bool std::operator <(const std::stack<_Ty,_Container> &,const std::stack<_Ty,_Container> &)' : could not deduce template argument for 'const std::stack<_Ty,_Container> &' from 'std::list<_Ty>::_Iterator<_Secure_validation>'   c:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility    2010
Error   19  error C2784: 'bool std::operator <(const std::stack<_Ty,_Container> &,const std::stack<_Ty,_Container> &)' : could not deduce template argument for 'const std::stack<_Ty,_Container> &' from 'std::list<_Ty>::_Iterator<_Secure_validation>'   c:\Program Files\Microsoft Visual Studio 9.0\VC\include\xutility    2010

如果没有行号表明哪个文件和方法导致错误,如何解决这些排序或错误?我不知道问题出在哪里。

有没有办法找出触发这些的语句?

由于

1 个答案:

答案 0 :(得分:3)

从它的外观来看,你有一堆列表迭代器,你试图使用小于运算符(即stack1&lt; stack2)进行比较。但是,堆栈只是将元素的比较委托给不存在的元素运算符:列表迭代器不能使用小于运算符。如何找到这种情况我不知道但是使用不同的编译器可能会给你一个更好的错误信息。