c程序中的错误

时间:2015-04-26 10:43:28

标签: c compiler-errors

所以这是我的代码:

#include <stdio.h>
#include <stdlib.h>
//funkcija dodavanja u red
 void add(cvor* red, int i, cvor broj){ //Errors appear in this line
    red[i] = broj;
}
// brise iz vadi iz reda clan koji je prvi usao
cvor delete(cvor *red, int i){
    cvor a;
    int e;
    a = red[0];
    for (e = 1; e < i;e+=1){
        red[e - 1] = red[e];

    }
    return a;
}
//definiticja strukture cvora
typedef struct temp{
    double info;
    struct temp* levi;
    struct temp* desni;

}cvor;

// pravljenje novog cvora
cvor *novi_cvor(cvor *levi_sin,cvor *desni_sin,double broj){
    cvor *novi = malloc(sizeof(cvor));
    novi->levi = levi_sin;
    novi->desni = desni_sin;
    novi->info = broj;
    return novi;

}

void main(){
    int i=0,e,n;
    cvor *red;
    double broj;
    // definisanje reda kao dinamcikog niza
    red = calloc(50, sizeof(cvor));
    // u red unosimo clanove liste redom

    printf("Uneti broj clanova liste");
    scanf_s("%d", &n);
    while (n>0){
        scanf_s("%lf", &broj);

        add(red, i, *novi_cvor(NULL,NULL,broj));
        i += 1;
        n -= 1;
    }
    //ispis reda
    for (e = 0; e < i; e += 1){
        printf("%2.lf\n\n", red[e]);
    }



    system("pause");
}

这些是错误:

Error 1 error C2143: syntax error : missing ')' before '*'
Error 2 error C2143: syntax error : missing '{' before '*'  
Error 3 error C2059: syntax error : 'type'  
Error 4 error C2059: syntax error : ')'

所有这些都出现在第4行。

任何解决方案? 感谢

1 个答案:

答案 0 :(得分:3)

如果要在另一种方法中使用struct,typedef或方法,则必须声明它或编写它们的代码。 这意味着当你在main中调用你的函数delete时,它没有检测到cvor的意思,因为cvor定义如下。

typedef struct temp{
double info;
struct temp* levi;
struct temp* desni;
}cvor; 

在第一行,在休息之前。