我收到关于以下函数的“无效使用无效表达式”错误:
void remove_data(char* memory, char* bitmap, int pos)
{
int i;
i = (int)test_bit(bitmap, pos-1);
if(i != 0)
{
memory[pos-1] = NULL;
toggle_bit(bitmap, pos-1);
}
}
现在,从我在其他线程上读到的有关此类似问题的内容中,当程序员在函数中使用将生成输出的某些内容时,会弹出此错误。但是,我没有看到在我编写的代码中会导致什么。
编辑添加:
其中使用的切换位函数也是 void 类型并且不返回值。
void test_bit(char * bitmap, int pos)
{
int bit;
bit = bitmap[pos/8] & (1<<(pos%8));
printf("%d\n", &bit);
}
我在 test_bit 中评论了 printf 行,但错误仍然存在。