fyire 2021-11-12 14:30 采纳率: 0%
浏览 17

vector<vector<Point>> 写入值时引发异常

我在C# 里调C++,在C++中对*ptr 赋值出现了问题。显示引发了异常: 写入访问权限冲突。 this 是 nullptr。

异常在C++语句的(*ptr).push_back(points)。

以下是C#中的代码:

public void GetContours()
{
     ThrowIfDisposed();
     VectorOfVectorPoint ret = new VectorOfVectorPoint();
     NativeMethods.region_getContours(ptr, ret.CvPtr);
     var val = ret.ToArray();
}

以下是C++的代码:

HRESULT region_getContours(Region* self,std::vector<std::vector<cv::Point2f>>* ptr)
{
	HRESULT hr = S_OK;
	if(self==NULL)
		hr = E_INVALIDARG;
	if (SUCCEEDED(hr))
	{
		size_t num = self->contours.size();
		for (size_t i = 0; i < num; i++)
		{
			std::vector< cv::Point2f > points;
			points.assign(self->contours[i].begin(), self->contours[i].end());			
			(*ptr).push_back(points);
		}			
	}
	return hr;
}
  • 写回答

1条回答 默认 最新

  • 真相重于对错 2021-11-12 15:03
    关注

    C# 和c++之间不要直接传递stl类型

    评论

报告相同问题?

问题事件

  • 创建了问题 11月12日

悬赏问题

  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因