问题描述
我搜索了但还没有真正发现并理解此错误。奇怪的是,我只得到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
用作参数,其他参数则不使用。