static void increment(long long *n){
(*n)++;
}
static void mult2(long long *n){
(*n) = (*n)*2;
}
struct counter{
long long counter;
};
struct counter* cp = malloc(sizeof(struct counter));
cp[0].counter = 5;
increment(cp);
printf("Expecting a 6 : %lld.\n", cp[0].counter);
嗨,这是我的代码的一部分,我实际上想要增加或x2一个计数器, 但是我一直在论证和论证类型上得到错误。
答案 0 :(得分:3)
struct count和long long是不同的类型。
尝试
increment(&(cp->counter));
使用cp[0].counter = 5
代替cp->counter = 5
非常棒,IMO。
答案 1 :(得分:2)
您正在将struct counter *
传递给期望long long *
的函数。那不行。你可能意味着increment(&(cp[0].counter))
。