基本的な画像描画プログラムである、私が書いているプログラムがあります。それはCにあります。
最初に私は宣言します
typedef struct
{
int red;
int green;
int blue;
} pixel_colour;
これを受け入れる背景を塗りつぶす機能があるので、それを使用します。
pixel_colour flood_colour = {80,50,91};
FloodImage(flood_colour);
これがメインの唯一のものであれば問題なく動作しますが、スイッチ/ケースと残りのコードを追加するとすぐに使用できなくなります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'
メインコードは以下のとおりです。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;
case 3:
printf( "RE" );
break;
case 4:
printf( "CH" );
break;
case 5:
printf( "FI" );
break;
case 6:
printf( "EX" );
exit(EXIT_FAILURE);
break;
default :
printf( "Something went wrong" );
break;
}