我正在尝试使用第 3 方 C++ 源代码(机器人 SLAM 的 TORO 框架,您可以通过 svn 获取它:svn co https://www.openslam.org/data/svn/toro),通过尝试将其封装在 DLL 中,以便稍后在我的 C# 代码中使用。但是,仅通过将源文件包含到我的项目中,我就会遇到各种错误。例如对于以下代码
void TreePoseGraph<Ops>::revertEdge(TreePoseGraph<Ops>::Edge * e){
revertEdgeInfo(e);
Vertex* ap=e->v2;
e->v2=e->v1;
e->v1=ap;
}
我收到以下错误:
错误 C2182:“revertEdge”:非法使用“void”类型
错误 C2470:“AISNavigation::TreePoseGraph::revertEdge”:看起来像函数 d 定义,但没有参数列表;跳过明显的正文
错误 C2072:'AISNavigation::TreePoseGraph::revertEdge':函数的初始化
当然,我做的第一件事是检查它是否包含(revertEdge)在正确的标题和 stdAfx.h 中,当然它无处不在。而且,IntelliSense 可以识别一切,可以为我指出一切的源头,因此该项目似乎没有遗漏任何东西。然而,我得到了大量类似的错误。
我确定我一开始就在这里做错了什么,这导致了所有这些无意义的错误消息的转储(可能有 1-2 个是合理的,但其余的只是雪崩的结果)。您能否提出任何建议,可能导致收到如此大量的错误消息?