gpt4 book ai didi

c++ - 二进制 * 的无效操作数

转载 作者:行者123 更新时间:2023-11-30 21:38:09 28 4
gpt4 key购买 nike

typedef struct pixel_type
{
unsigned char r;
unsigned char g;
unsigned char b;
} pixel;



buffer = (int *) malloc (sizeof(pixel) * stdin );

我不断收到一条错误消息,提示“二进制操作数无效*(具有 unsigned int' 和 'struct _IO_FILE *)”。该结构是在函数外部定义的,因此它是通用的。缓冲区在 main 中定义。如果需要,我可以提供更多代码。我的问题是什么?

编辑:好吧,显然我有点困惑。我想做的是传递一个文件,然后为该文件分配足够的空间。我正在考虑使用 FILE 函数来传递文件,然后使用它,但希望只使用“stdin”。这是不允许的吗?这是用 C 编写的。只是标记为 C++,希望其他人可能会看到类似的问题。

抱歉问了个愚蠢的问题。整体而言,对于 C 来说并不陌生,但对于 malloc 来说却是新鲜事。二年级学生:P

最佳答案

我认为您想要读取来自stdin的像素数:

int n;
scanf("%d", &n);

然后为那么多像素分配内存:

unsigned char * buffer = (unsigned char *) malloc (sizeof(pixel) * n );

关于c++ - 二进制 * 的无效操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18641991/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com