-4

次の C コード スニペットを実行すると、次のエラーが表示されます。

「box.c:2:23: エラー: 'fblog' 宣言されていません (この関数で最初に使用) box.c:2:23: 注: 宣言されていない識別子は、それが現れる関数ごとに 1 回だけ報告されます」

私は C の経験がほとんどないことを告白しなければなりませんが、誰かが問題を見つけてくれることを願っています。

fblog を unsigned short として定義しようとしましたが、別のエラーがスローされました?!

void putpixel(int x, int y, unsigned short color) {
    unsigned short *fblog;
    unsigned short *fb = fblog;
    *(fb + (y * 240) + x) = color; 
}

void drawbox(void) {
    int x, y;
    for (x = 40; x <= 200; x++) {
        putpixel(x, 30, 0xF800);
        putpixel(x, 290, 0x001F);
    }
    for (y = 30; y <= 290; y++) {
        putpixel(40, y, 0x7E0);
        putpixel(200, y, 0x07E0);
    }
}

void main(){
    drawbox();
}
4

1 に答える 1

2

fblog関数内で宣言されていませんputpixel。グローバルに宣言するか (これは一般的には悪いことです)、パラメーターとして渡すようにしてください。

fblog を unsigned short として定義しようとしましたが、別のエラーがスローされました?!

これfbは、 が値ではなくへのポインタであるため、として宣言するか、 のアドレスで初期化するためです。それはあなたが何を得たいかによります。unsigned shortunsigned shortfblogunsigned short *fbfblog

于 2013-01-26T10:59:46.970 に答える