什么是这些Visual Studio 2010中的错误和放大器的原因;警告? [英] What is the cause of these Visual Studio 2010 errors & warnings?
问题描述
我不知道这些错误我从Visual Studio 2010中接收的原因。
I don't know the cause of these errors I am receiving from Visual Studio 2010.
这是从我的程序code从线343线408:
This is the code from my program from line 343 to line 408:
int create_den_from_img(char *img_file_name_part, int xlen, int ylen, int zlen )
{
IplImage* imgs = 0;
char str[80];
unsigned char *data,*imgdata;
/* allocating memory */
data = (unsigned char *) malloc(xlen * ylen * zlen * sizeof(unsigned char) );
if(data==NULL)
{
printf("error in allocating memory \n");
exit(1);
}
/* Getting the filename & iterating through tiff images */
for(int k = 0; k < zlen; k++)
{
int count=2;
int tmp=k+1;
while(tmp/10)
{
count=count-1;
tmp=tmp/10;
}
switch(count)
{
case 2:sprintf(str,"%s00%d.tif",img_file_name_part,k+1);
break;
case 1:sprintf(str,"%s0%d.tif",img_file_name_part,k+1);
break;
default:sprintf(str,"%s%d.tif",img_file_name_part,k+1);
break;
}
printf("%s\n",str);
/* Loading Image using OpenCV */
imgs=cvLoadImage(str,-1);
if(imgs==NULL)
{
printf("error in opening image \n");
exit(1);
}
imgdata=(uchar *)imgs->imageData;
for(int j =0; j < ylen; j++)
{
for(int i =0; i < xlen; i++)
{
data[ k*xlen*ylen + j*xlen + i ] = imgdata[ j*xlen+i ];
}
}
cvReleaseImage(&imgs );
}
/* populating `data` variable is done. So, calling `write_den` */
if(write_den("test.den",data,xlen,ylen,zlen)==0)
{
printf("Error in creating den file\n");
exit(1);
}
printf("Den file created\n");
}
这是错误的列表:
These are the list of errors:
Error 3 error C2143: syntax error : missing ';' before 'type' c:\examples\denfile.c 358 1 MTP_TEST
Error 4 error C2143: syntax error : missing ';' before 'type' c:\examples\denfile.c 358 1 MTP_TEST
Error 5 error C2143: syntax error : missing ')' before 'type' c:\examples\denfile.c 358 1 MTP_TEST
Error 6 error C2143: syntax error : missing ';' before 'type' c:\examples\denfile.c 358 1 MTP_TEST
Error 7 error C2065: 'k' : undeclared identifier c:\examples\denfile.c 358 1 MTP_TEST
Error 9 error C2065: 'k' : undeclared identifier c:\examples\denfile.c 358 1 MTP_TEST
Error 10 error C2059: syntax error : ')' c:\examples\denfile.c 358 1 MTP_TEST
Error 11 error C2143: syntax error : missing ';' before '{' c:\examples\denfile.c 359 1 MTP_TEST
Error 12 error C2065: 'k' : undeclared identifier c:\examples\denfile.c 361 1 MTP_TEST
Error 13 error C2065: 'k' : undeclared identifier c:\examples\denfile.c 370 1 MTP_TEST
Error 14 error C2065: 'k' : undeclared identifier c:\examples\denfile.c 372 1 MTP_TEST
Error 15 error C2065: 'k' : undeclared identifier c:\examples\denfile.c 374 1 MTP_TEST
Error 16 error C2143: syntax error : missing ';' before 'type' c:\examples\denfile.c 388 1 MTP_TEST
Error 17 error C2143: syntax error : missing ';' before 'type' c:\examples\denfile.c 388 1 MTP_TEST
Error 18 error C2143: syntax error : missing ')' before 'type' c:\examples\denfile.c 388 1 MTP_TEST
Error 19 error C2143: syntax error : missing ';' before 'type' c:\examples\denfile.c 388 1 MTP_TEST
Error 20 error C2065: 'j' : undeclared identifier c:\examples\denfile.c 388 1 MTP_TEST
Error 22 error C2065: 'j' : undeclared identifier c:\examples\denfile.c 388 1 MTP_TEST
Error 23 error C2059: syntax error : ')' c:\examples\denfile.c 388 1 MTP_TEST
Error 24 error C2143: syntax error : missing ';' before '{' c:\examples\denfile.c 389 1 MTP_TEST
Error 25 error C2143: syntax error : missing ';' before 'type' c:\examples\denfile.c 390 1 MTP_TEST
Error 26 error C2143: syntax error : missing ';' before 'type' c:\examples\denfile.c 390 1 MTP_TEST
Error 27 error C2143: syntax error : missing ')' before 'type' c:\examples\denfile.c 390 1 MTP_TEST
Error 28 error C2143: syntax error : missing ';' before 'type' c:\examples\denfile.c 390 1 MTP_TEST
Error 29 error C2065: 'i' : undeclared identifier c:\examples\denfile.c 390 1 MTP_TEST
Error 31 error C2065: 'i' : undeclared identifier c:\examples\denfile.c 390 1 MTP_TEST
Error 32 error C2059: syntax error : ')' c:\examples\denfile.c 390 1 MTP_TEST
Error 33 error C2143: syntax error : missing ';' before '{' c:\examples\denfile.c 391 1 MTP_TEST
Error 34 error C2065: 'k' : undeclared identifier c:\examples\denfile.c 392 1 MTP_TEST
Error 35 error C2065: 'j' : undeclared identifier c:\examples\denfile.c 392 1 MTP_TEST
Error 36 error C2065: 'i' : undeclared identifier c:\examples\denfile.c 392 1 MTP_TEST
Error 37 error C2065: 'j' : undeclared identifier c:\examples\denfile.c 392 1 MTP_TEST
Error 38 error C2065: 'i' : undeclared identifier c:\examples\denfile.c 392 1 MTP_TEST
我已经得到这类错误整天。有时,code编译,而在其他时间没有。其真烦人。
I've been getting these kind of errors all day long. Sometimes the code compiles, while at other time it doesn't. Its really annoying.
推荐答案
您正在编译 .C
文件,该文件为Microsoft Visual Studio意味着你需要写C89(又名C90)code,不C99 code或C ++。
You're compiling a .c
file, which for Microsoft Visual Studio means that you need to be writing C89 (aka C90) code, not C99 code or C++.
这意味着,你必须在每个块的开始声明变量。这意味着你不能做的:
What this means is that you must declare your variables at the start of each block. This means that you can't do:
for (int k = 0; ...
您必须在块的开始申报 K
然后执行:
You have to declare k
at the start of the block and do:
for (k = 0; ...
这篇关于什么是这些Visual Studio 2010中的错误和放大器的原因;警告?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!