c - 错误 : storage size of ‘Img’ isn't known

标签 c size storage typedef pgm

<分区>

我正在尝试编写一个简单的代码来读取 .PGM 文件。我写的代码是

#include "./netpbm/lib/pgm.h"
#include <stdio.h>

typedef unsigned int gray;

int main(int argc, char* argv[]){

    gray Maxval;
    gray* Img[];
    int row, col;

    FILE *fp;

    fp = fopen("barcode.PGM", "r");

    pm_proginit(0, &argv[0]);

    &Img[0] = pgm_readpgm(fp, &col, &row, &Maxval);
}

它输出错误:'Img' 的存储大小未知

有什么调试建议吗?

最佳答案

来自documentation of libpgm , 看起来你应该声明一个指向指针的指针:

gray **Img;
...
Img = pgm_readpgm(fp, &col, &row, &Maxval);
...
pgm_freearray(Img, row);

关于c - 错误 : storage size of ‘Img’ isn't known,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14077849/

相关文章:

android - 如何在我自己的 android 应用程序中设置字体比例?

c - 在 linux 中使用 size 命令检查 c 程序的内存布局时出现奇怪的结果

php - 如何为生产或子域系统创建 laravel 存储符号链接(symbolic link)?

c# - 带有 bigint 的 SqlDbType 参数的大小是多少?

c - 在 C 中没有 fclose 的 fopen

c++ - 如何将 unsigned int 放入 char 数组并将其提取回来

c - 迭代 int 数组时,每个宏都会引发 "Segmentation fault"

c - 以最有效的方式读取 CGI POST 数据

C# : We application : Where to store generated PDF files?

c - fscanf() 仅写入输入文件中的部分内容而不是全部内容