在我的 for 循环中声明迭代器时研究无符号与有符号整数比较警告时,我读到了这个:
只要有可能,请使用您将与之比较的确切类型(例如,
std::string::size_type
与 astd::string
的长度进行比较时使用)。
我有一个QList<T>
我想迭代,使用上述方法声明迭代器:
for(QList::size_type i = 0; i < uploads.size(); i++)
{
//Do something
}
它给了我一个编译器错误:
error: 'template<class T> class QList' used without template parameters
for(QList::size_type i = 0; i < uploads.size(); i++)
为什么我不能以同样的方式使用它?这是由我还是由 Qt 框架及其类型引起的?QList::size_type
在这种情况下,什么是好的替代品,QList::size()
只返回一个普通的旧的int
,我想使用它;但我阅读了上面链接的帖子,这让我不确定。