ich erhalte plötzlich diverse Fehlermeldungen beim Compilieren/Linken meines Programms, mit denen ich nichts anfangen kann (Suse Linux und Eclipse CDT).
Ich möchte das Verhalten von zwei functions vergleichen. Jede der functions ist in einem eigenen Modul, d.h. einer eigenen Datei, enthalten.
Beispiel:
func1.c
Code: Alles auswählen
#include "func1.h"
extern struct LINELINK_INIT_PARA linelink_init; // Fehler1
...
static void histo_clear(); // Fehler2
...
static FLOAT link_radius_sqr = 0; // Fehler3 und 4
...
static void histo_clear()
{ // Fehler5
... code dazu
}
void test_func()
Fehlermeldung2: storage class specified for parameter'histo_clear'
Fehlermeldung3: parameter 'link_radius_sqr' is initialized
Fehlermeldung4: storage class specified for parameter 'link_radius_sqr'
Fehlermeldung5: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
Das Modul func2.c sieht genauso aus. Hier erhalte ich allerdings keine Fehlermeldungen.
Besonders verwunderlich ist, dass in Fehlermeldung 2 der Prototyp der function histo_clear() als Parameter interpretiert wird.
Die genannten Parameter und functions kommen nur in den beiden Modulen jeweils lokal vor.
Da ich vermutete, dass "static" aus den lokalen Parametern vielleicht globale macht, habe ich mal versuchsweise einen Namen umbenannt, aber die gleiche Fehlermeldung erhalten.
Was heißt "storage class specifiied for..." ?
Der Parameter wird nirgends doppelt initialisiert.
Es muss irgend etwas ganz prinzipielles sein, das ich nicht sehe - vielleicht Matsch auf den Augen (Strichpunkte fehlen keine)
Vielleicht hat jemand eine Idee - wäre toll, ich stehe auf dem Schlauch.