C 我不断收到预期的编译错误‘’;,标识符或‘;(’;在‘;void’;void*流道之前(void*参数)
我正在尝试编译这个c程序,它使用线程将多个矩阵组合在一起。但是我一直遇到这个错误 应为“;”、标识符或“(”在“void”之前 无效*流道(无效*参数) 下面是它所指的代码C 我不断收到预期的编译错误‘’;,标识符或‘;(’;在‘;void’;void*流道之前(void*参数),c,compiler-errors,C,Compiler Errors,我正在尝试编译这个c程序,它使用线程将多个矩阵组合在一起。但是我一直遇到这个错误 应为“;”、标识符或“(”在“void”之前 无效*流道(无效*参数) 下面是它所指的代码 //The thread will begin control in this function void *runner(void *param) { struct v *data = param; int n, sum = 0; for(n = 0; n < X; n++) {
//The thread will begin control in this function
void *runner(void *param)
{
struct v *data = param;
int n, sum = 0;
for(n = 0; n < X; n++)
{
sum += a[data->i][n] * b[n][data->j];
}
c[data->i][data->j] = sum;
pthread_exit(0);
}
void *runner(void *param);
//线程将在此函数中开始控制
无效*流道(无效*参数)
{
结构v*数据=参数;
int n,和=0;
对于(n=0;ni][n]*b[n][数据->j];
}
c[数据->i][data->j]=总和;
pthread_退出(0);
}
void*runner(void*param);
我认为您应该在实现之前声明函数,或者将其放在头文件中。错误一定在前面的行中,也许您忘记了用分号结束struct
定义。void*runner之前的最后一个非注释、非空白行是什么(…
?如果是#include
指令,所包含文件中最后一个非注释、非空白后处理文本行是什么?相关的,文本void*runner(void*参数)有两个实例
在发布的代码中,您从未提到哪一个传递了您得到的错误。后者是一个原型,坦率地说属于正式定义之前;而不是之后。而且,与此无关的是,您声称返回void*
的函数从来没有这样做过。@Pablo我发现了问题所在,我在u中缺少了一个分号谢谢你的提示!