gpt4 book ai didi

c - 为什么会出现取消引用指针错误?

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

我目前正在编写一个需要使用指针的 C 程序,而我对此并不擅长。我目前收到 4 个错误,全部显示“取消引用指向不完整类型的指针”,但我不知道为什么。

以下是我如何设置指针以及在何处出现错误的示例。

struct myset
{
unsigned char *vector;
int size;
int size_in_bytes;
int size_in_bits;
};

struct myset* set_new(int size)
{
int i;
struct myset* s;
s= malloc (sizeof (struct myset));
s->vector=malloc(sizeof(char)*(size/(sizeof(char)*8))+1);
for(i=0; i<size; i++)
{
s->vector[i]=0;
}
s->size_in_bits=size;
s->size_in_bytes=(size/(sizeof(char)))+1;
return s;
};

每当我尝试引用指针时,例如在此函数中,我都会收到错误。

void bitset_intersect(struct bitset * dest, struct bitset * src1, struct bitset * src2)
{
int maxSize = dest -> size_in_bits;
int i;
int j;
for(i = 0; i<maxSize; i++)
{
for(j = 0; j<maxSize; j++)
{
if(bitset_lookup(src1, i) == bitset_lookup(src2, j))
{
bitset_add(dest,i);
}
}
}
}

错误出现在行 int maxSize = dest -> size_in_bits;

如有任何帮助,我们将不胜感激,谢谢。

最佳答案

如果没有函数调用,就很难判断您是否传递了正确的值作为参数。

如果您在尝试引用指针时遇到错误,请检查函数调用以确保正确传递地址。这样做可以消除此错误。

*dest 和 *src 都应该具有传入其中的地址,因为两者都来自相同的结构位集。

关于c - 为什么会出现取消引用指针错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33529579/

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