Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “int”尝试调用函数之前需要主表达式_C++ - Fatal编程技术网

C++ “int”尝试调用函数之前需要主表达式

C++ “int”尝试调用函数之前需要主表达式,c++,C++,调用函数mooreNeighbor时,出现错误: “int”之前应为主表达式 错误发生在正在进行呼叫的线路上 Barray是由1和0组成的int1D数组。宽度和高度都是整数。所有三个都用值初始化 my main.cc的第86-87行: //包含轮廓跟踪。h包含在文件顶部 拦河坝=系泊间距*拦河坝、宽度、高度 从等高线跟踪。h: // @author Erik Smistad <smistad@idi.ntnu.no> #ifndef CONTOURTRACING_H_ #define

调用函数mooreNeighbor时,出现错误:

“int”之前应为主表达式

错误发生在正在进行呼叫的线路上

Barray是由1和0组成的int1D数组。宽度和高度都是整数。所有三个都用值初始化

my main.cc的第86-87行:

//包含轮廓跟踪。h包含在文件顶部 拦河坝=系泊间距*拦河坝、宽度、高度

从等高线跟踪。h:

// @author Erik Smistad <smistad@idi.ntnu.no>
#ifndef CONTOURTRACING_H_
#define CONTOURTRACING_H_

#include <stdlib.h>

int * padImage(int * Barray, int width, int height,int zero);
int * mooreNeighborTracing(int * Barray, int height, int width);

#endif /* CONTOURTRACING_H_ */

存在该算法的另一个文件contour-tracing.cpp。我也可以从中发布信息。

按以下方式调用函数

Barray = mooreNeighborTracing(Barray, width, height);
我想Barray是一个指针,它被声明为

int *Barray /* = some initializer as for example an expression with the operator new */;
如果Barray被定义为数组,则不能分配它。在这种情况下,函数的调用方式似乎是

mooreNeighborTracing(Barray, width, height);

Barray没有在任何地方声明。调用函数时不包含参数类型。调用MooreNeightRacing时,第一个参数的语法是错误的,正如@chris所说,不包含int*就像在传递宽度和高度时不包含int一样。2您在呼叫MoorerTracing时颠倒了宽度和高度。它的宽度,高度。。不是高度,不是宽度。好的,谢谢你的回复。我把它改成了你所拥有的Vlad,我得到了一个错误:“int*”赋值为“int[long unsigned intlong intn+-0x00000000000000001+1]”时不兼容的类型我们不知道Barray是谁和什么,我们只能假设它是一个int*@user3707614,您可以创建另一个与新错误相关的线程。@user3707614请参阅我更新的帖子。这些是第80-88行:int*baray;Barray=int*mallocn*sizeofint;对于q=0;Q