【发布时间】:2011-02-11 23:35:18
【问题描述】:
我不知道我从 Visual Studio 2010 收到这些错误的原因。
这是我的程序从第 343 行到第 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");
}
这些是错误列表:
错误 3 错误 C2143:语法错误:缺少 ';'在“类型”之前 c:\examples\denfile.c 358 1 MTP_TEST 错误 4 错误 C2143:语法错误:缺少 ';'在“类型”之前 c:\examples\denfile.c 358 1 MTP_TEST 错误 5 错误 C2143:语法错误:在 'type' c:\examples\denfile.c 358 1 MTP_TEST 之前缺少 ')' 错误 6 错误 C2143:语法错误:缺少 ';'在“类型”之前 c:\examples\denfile.c 358 1 MTP_TEST 错误 7 错误 C2065:“k”:未声明的标识符 c:\examples\denfile.c 358 1 MTP_TEST 错误 9 错误 C2065:“k”:未声明的标识符 c:\examples\denfile.c 358 1 MTP_TEST 错误 10 错误 C2059:语法错误:')' c:\examples\denfile.c 358 1 MTP_TEST 错误 11 错误 C2143:语法错误:缺少 ';'在'{'之前 c:\examples\denfile.c 359 1 MTP_TEST 错误 12 错误 C2065:“k”:未声明的标识符 c:\examples\denfile.c 361 1 MTP_TEST 错误 13 错误 C2065:“k”:未声明的标识符 c:\examples\denfile.c 370 1 MTP_TEST 错误 14 错误 C2065:“k”:未声明的标识符 c:\examples\denfile.c 372 1 MTP_TEST 错误 15 错误 C2065:“k”:未声明的标识符 c:\examples\denfile.c 374 1 MTP_TEST 错误 16 错误 C2143:语法错误:缺少 ';'在“类型”之前 c:\examples\denfile.c 388 1 MTP_TEST 错误 17 错误 C2143:语法错误:缺少 ';'在“类型”之前 c:\examples\denfile.c 388 1 MTP_TEST 错误 18 错误 C2143:语法错误:在 'type' c:\examples\denfile.c 388 1 MTP_TEST 之前缺少 ')' 错误 19 错误 C2143:语法错误:缺少 ';'在“类型”之前 c:\examples\denfile.c 388 1 MTP_TEST 错误 20 错误 C2065:“j”:未声明的标识符 c:\examples\denfile.c 388 1 MTP_TEST 错误 22 错误 C2065:'j':未声明的标识符 c:\examples\denfile.c 388 1 MTP_TEST 错误 23 错误 C2059:语法错误:')' c:\examples\denfile.c 388 1 MTP_TEST 错误 24 错误 C2143:语法错误:缺少 ';'在'{'之前 c:\examples\denfile.c 389 1 MTP_TEST 错误 25 错误 C2143:语法错误:缺少 ';'在“类型”之前 c:\examples\denfile.c 390 1 MTP_TEST 错误 26 错误 C2143:语法错误:缺少 ';'在“类型”之前 c:\examples\denfile.c 390 1 MTP_TEST 错误 27 错误 C2143:语法错误:在 'type' c:\examples\denfile.c 390 1 MTP_TEST 之前缺少 ')' 错误 28 错误 C2143:语法错误:缺少 ';'在“类型”之前 c:\examples\denfile.c 390 1 MTP_TEST 错误 29 错误 C2065:“i”:未声明的标识符 c:\examples\denfile.c 390 1 MTP_TEST 错误 31 错误 C2065:“i”:未声明的标识符 c:\examples\denfile.c 390 1 MTP_TEST 错误 32 错误 C2059:语法错误:')' c:\examples\denfile.c 390 1 MTP_TEST 错误 33 错误 C2143:语法错误:缺少 ';'在'{'之前 c:\examples\denfile.c 391 1 MTP_TEST 错误 34 错误 C2065:“k”:未声明的标识符 c:\examples\denfile.c 392 1 MTP_TEST 错误 35 错误 C2065:'j':未声明的标识符 c:\examples\denfile.c 392 1 MTP_TEST 错误 36 错误 C2065:'i':未声明的标识符 c:\examples\denfile.c 392 1 MTP_TEST 错误 37 错误 C2065:“j”:未声明的标识符 c:\examples\denfile.c 392 1 MTP_TEST 错误 38 错误 C2065:“i”:未声明的标识符 c:\examples\denfile.c 392 1 MTP_TEST我整天都遇到这些错误。有时代码会编译,而有时则不会。真的很烦人。
【问题讨论】:
-
您是否从其他编辑器/网络浏览器复制/粘贴了一些代码?当粘贴的代码中存在隐藏字符时,我曾经遇到过这样的问题。
-
无意冒犯,但我认为问题不在于 MSVC。
-
你传递给编译器的命令行标志是什么?
-
@Eric Schweichler :不,我没有复制粘贴此代码。它完全是手写的。 @Billy ONeal:我也这么认为。但我自己找不到错误。
-
个人认为,如果编译器不能输出有用的错误信息,我认为是编译器的问题。如果你不得不说,“错误信息很有帮助——任何拥有 5 年 Visual C++ 日常经验的人都可以理解它!” (或类似的)来保护编译器,你只是在证明我的观点。
标签: c++ c visual-studio-2010