如何解决Objective-C ++调整大小实例向量不起作用
我在Objective-C ++中有一个iOS OpenCV包装器,如下所示:
// CVImage.mm
@interface CVImage()
@property std::vector<std::vector<cv::Point>> contours;
@end
@implementation CVImage
...
- (void) findContours
{
// Find and store contours with cv::findContours
}
// Resize method
- (void) resizeTo:(NSInteger)count
{
// Stuff that ensures count is less than self.contours.size()
...
self.contours.resize(count);
}
...
@end
但是contours
向量不会调整大小。它们可以很好地绘制到屏幕上,但是如果我尝试调整其大小或对其进行排序,则代码将引发错误。
在本地测试std::vector<std::vector<cv::Point>>
变量上执行调整大小操作,但对我的实例成员变量无效。
我在CVImage()
类别中初始化错误吗?还是OpenCV做一些奇怪的事情?
解决方法
好吧,我知道了。我想我初始化的不好。您必须确保contours
是一个指针(即std::vector<std::vector<cv::Point>> *
)。
更新所有引用以使其匹配,并且可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。