多维向量不会让我删除一个项目

时间:2012-07-16 07:28:35

标签: android c++ vector

我正在使用多维向量的这个定义:

Vector<Vector<sp<InputWindowHandle> > > mWindowHandles;

除了这一行之外,它几乎在代码中的任何地方都能正常工作:

(mWindowHandles[displayId]).removeAt(i--);

我不明白为什么。不是Vector的单个条目应该是一个向量吗? 这是我得到的编译错误:

  

传递'const android :: Vector&gt;'作为'ssize_t android :: Vector :: removeAt(size_t)的'this'参数[与TYPE =   android :: sp]'丢弃限定符

你能告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

非常感谢@Component 10 看起来像android中的Vector的实现不同于我以前使用的普通std :: vector。 为了删除一个项目,我必须这样做:

Vector<sp<InputWindowHandle> >& oneDisplayWindowHandles = mWindowHandles.editItemAt(displayId); oneDisplayWindowHandles.removeAt(i--);