小编use*_*199的帖子

typedef struct出错C2275错误

我有一个我正在编写的程序,它是一个基本的图像绘制程序.它在C.

最初我宣布

typedef struct 
{   
  int red;
  int green;
  int blue;
} pixel_colour;
Run Code Online (Sandbox Code Playgroud)

我有一个函数来填充接受这个的背景,所以我用它就像.

pixel_colour flood_colour = {80,50,91};
FloodImage(flood_colour);
Run Code Online (Sandbox Code Playgroud)

现在这可以正常工作,如果它是我主要的唯一的东西,但只要我添加一个开关/案例和我的其余代码我不能再使用 pixel_colour flood_colour = {80,50,91};

反而得到

error C2275: 'pixel_colour' : illegal use of this type as an expression
1>          c:\users\xxxx\documents\visual studio 2010\projects\xxx.c(20) : see declaration of 'pixel_colour'
Run Code Online (Sandbox Code Playgroud)

主要代码如下,它可以正常使用我的所有功能,直到我尝试使用pixel_colour,它将被设置为变量而不是200,200,200,但即使这样也行不通

char instring[80] = "FL 201 3 56";
  int pst = FirstTwo(instring);
  switch( pst )
  {
  case 1: 
    printf( "FL ");
    CaseFL(instring);
    pixel_colour flood_colour = {200,200,200};
    FloodImage(flood_colour);
    break;

  case 2: 
    printf( "LI" );
    break; …
Run Code Online (Sandbox Code Playgroud)

c typedef

4
推荐指数
1
解决办法
2062
查看次数

标签 统计

c ×1

typedef ×1