我已经搜索并没有真正找到并理解这个错误。奇怪的是,我只得到 c、d、e 的错误,而不是 a 和 b 或它们所有的错误。
程序是关于双链表的。
当我编译时会发生这种情况:
gcc -Wall -g -c program.c
错误部分:void try_mymem(int argc, char** argv) {
strategies strat;
void *a, *b, *c, *d, *e;
if (argc > 1)
strat = strategyFromString(argv[1]);
else
strat = First;
/* A simple example.
Each algorithm should produce a different layout. */
initmem(strat, 500);
a = mymalloc(100);
b = mymalloc(100);
c = mymalloc(100);
myfree(b);
d = mymalloc(50);
myfree(a);
e = mymalloc(25);
print_memory();
print_memory_status();
}我究竟做错了什么?
最佳答案
就像编译器说的那样,它们没有被使用。您分配但从未阅读。 a
和 b
被用作参数,其他的则不是。
关于c - 变量 'c' 已设置但未使用 [-Wunused-but-set-variable],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64563878/