-4

当我执行以下 C 代码片段时,我收到以下错误:

“box.c:2:23: error: 'fblog' undeclared (first use in this function) box.c:2:23: note: 每个未声明的标识符对于它出现的每个函数只报告一次”

我不得不承认我对 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 short而不是unsigned short值,所以您已声明fblog为,或使用 的地址进行unsigned short *初始化。这取决于你想得到什么。fbfblog

于 2013-01-26T10:59:46.970 回答