【发布时间】:2016-11-08 13:50:35
【问题描述】:
当我尝试使用 Vivado HLS 进行合成时,我在同一行收到以下错误:
严重警告:[SYNCHK 200-43] pcd_triangulation/pcd_triangulation.cpp:156:使用或分配 非静态指针'current.0.i.reg2mem'(这个指针可以指 不同的内存位置)。
严重警告:[SYNCHK 200-11] pcd_triangulation/pcd_triangulation.cpp:156:常量“开始”具有 不可合成的类型'lass.triangle.2.28.31 = type { [3 x “lass.triangle.2.28.3 ...”(可能原因:指向指针的指针或 全局指针)。
严重警告:[SYNCHK 200-11] pcd_triangulation/pcd_triangulation.cpp:156:常量“开始”具有 不可合成的类型'^lass.triangle.2.28.31 = type { [3 x “lass.triangle.2.28.3...”(可能原因:结构变量 由于(1)不支持的类型转换而无法分解; (2) 内存复制操作; (3) struct中使用的函数指针; (4) 不支持的指针比较)。
严重警告:[SYNCHK 200-42] pcd_triangulation/pcd_triangulation.cpp:156:指针比较不是 支持。
代码是 C++。所以这是给出上述警告的代码:
if(start->child[0]==NULL && start->child[1]==NULL && start->child[2]==NULL)
start 是指向类 (triangle *start) 的全局指针,child[i] 是指向类(成员)内同一类的数组(triangle *child[3])。
class triangle {
public:
triangle *child[3];
...
}
triangle *start;
inline triangle *mylocate(int p) {
if (start->child[0] == NULL && start->child[1] == NULL &&
start->child[2] == NULL) {
return start;
...
}
}
谁能帮我解决这些问题?
【问题讨论】:
-
能否为您的问题添加一些上下文?事实上,您的问题无法回答。
-
你能不能也把你的代码整理一下?
-
对不起,我不能上传我所有的代码,太大了。我会尝试找到处理相同问题的人来帮助我。我是新来的,我不知道如何安排我的问题。
-
triangle类声明后加分号
标签: c++ oop pointers http-live-streaming vivado-hls