0

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

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

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

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

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

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

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

4

1 回答 1

0

非常感谢@Component 10 似乎在 android 中实现 Vector 与我习惯的普通 std::vector 不同。为了删除一个项目,我必须这样做:

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

于 2012-07-16T08:16:39.580 回答