这些Visual Studio 2010错误的原因是什么?警告? [英] What is the cause of these Visual Studio 2010 errors & warnings?

查看:101
本文介绍了这些Visual Studio 2010错误的原因是什么?警告?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道我从Visual Studio 2010收到的这些错误的原因。

I don't know the cause of these errors I am receiving from Visual Studio 2010.

这是我的程序从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");

}

这些是错误列表:


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

我一整天都遇到这种错误。有时代码编译,而在其他时候它不编译。它真的很讨厌。

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(aka C90)代码,而不是C99代码或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 ,然后执行: / p>

You have to declare k at the start of the block and do:

for (k = 0; ...

这篇关于这些Visual Studio 2010错误的原因是什么?警告?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆