"expected specifier-qualifier-list"



  • bst.h

    #ifndef BST_H
    #define BST_H
    
    typedef struct node Node;
    
    typedef struct node{
    	int value;
    	Node *parent, *left, *right;
    }Node;
    
    typedef struct{
    	Node *root;
    	int size;
    	void (*add)(int);
    	void (*delete)(int);
    	(Node*)(*lookup)(int); 
    }BSTree;
    
    BSTree *newBST(void);
    
    #endif
    

    Wenn ich nun in der bst.c folgendes probiere:

    #include <stdio.h>
    #include <stdlib.h>
    
    #include "bst.h"
    
    void addF(BSTree *bst, int k){
    }
    

    Krieg ich ein

    expected specifier-qualifier-list before »(« token
    

    (Was sich übrigens auch nicht mit einem "void addF(BSTree*, int);" im Header lösen lässt.)

    Und ich komm nicht so recht drauf, weshalb.
    Mag mir wer helfen?



  • Bei welcher Zeile, Spalte und Datei kommt denn die Meldung?



  • User1291 schrieb:

    Krieg ich ein

    expected specifier-qualifier-list before »(« token
    

    (Was sich übrigens auch nicht mit einem "void addF(BSTree*, int);" im Header lösen lässt.)

    Und der Compiler zeigt nicht auf die öffnende Klammer am Anfang von (Node*)(*lookup)(int) ? Mysteriös.



  • Bashar schrieb:

    User1291 schrieb:

    Krieg ich ein

    expected specifier-qualifier-list before »(« token
    

    (Was sich übrigens auch nicht mit einem "void addF(BSTree*, int);" im Header lösen lässt.)

    Und der Compiler zeigt nicht auf die öffnende Klammer am Anfang von (Node*)(*lookup)(int) ? Mysteriös.

    Doch, tut er. Hatte das ".h" übersehen.
    Danke.


Anmelden zum Antworten