Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Uendelig Loop med #include

1 view
Skip to first unread message

Daniel Zinsli

unread,
Mar 27, 1998, 3:00:00 AM3/27/98
to

Har et par grunnleggende problemer her..

Headerfiler:
Fil A innholder definisjonen av structen foo.
Fil B inneholder definisjonen av structen bar.

foo har en peker til en struct av type bar.
B inneholder funksjonsprototyper som har structer av type foo som
argumenter/returverdier .

A må inneholde #include "B" for å definere foo som har medlemmer av type
bar.
B må inneholde #include "A" for å definere typene som er argumenter i
funksjoner

Hvordan unngår jeg en uendelig loop?

Prøvde litt med #defines og #ifndef, men det ble ikke pent :)

--
Daniel Zinsli
University of Bergen, Norway
Finger s8...@lstud.ii.uib.no for more info

Jan Kroken

unread,
Mar 27, 1998, 3:00:00 AM3/27/98
to

Daniel Zinsli <s830...@ii.uib.no> writes:

> Har et par grunnleggende problemer her..
>
> Headerfiler:
> Fil A innholder definisjonen av structen foo.
> Fil B inneholder definisjonen av structen bar.
>
> foo har en peker til en struct av type bar.
> B inneholder funksjonsprototyper som har structer av type foo som
> argumenter/returverdier .
>
> A må inneholde #include "B" for å definere foo som har medlemmer av type
> bar.
> B må inneholde #include "A" for å definere typene som er argumenter i
> funksjoner
>
> Hvordan unngår jeg en uendelig loop?
>
> Prøvde litt med #defines og #ifndef, men det ble ikke pent :)

Gjensidige avhengigheter er _ikke_ pent. Dersom du kan,
reorganiser opplegget ditt så du unngår hele problemstillingen.
Hvis det ikke går, bruk void-pekere, og
#ifndef __HEADERFIL_H
#include "headerfil.h"
#endif

BTW: no.c er død. Followup satt til no.it.programmering.c

--
-jk

Finn Arne Gangstad

unread,
Mar 28, 1998, 3:00:00 AM3/28/98
to

Daniel Zinsli <s830...@ii.uib.no> writes:

>
> Har et par grunnleggende problemer her..
>
> Headerfiler:
> Fil A innholder definisjonen av structen foo.
> Fil B inneholder definisjonen av structen bar.
>
> foo har en peker til en struct av type bar.
> B inneholder funksjonsprototyper som har structer av type foo som
> argumenter/returverdier .
>
> A må inneholde #include "B" for å definere foo som har medlemmer av type
> bar.
> B må inneholde #include "A" for å definere typene som er argumenter i
> funksjoner
>
> Hvordan unngår jeg en uendelig loop?

Ved a bruke struct-pekere:

A:
struct bar;
struct foo {
struct bar *pointer;
};


B:
struct foo;
struct foo *funksjon(struct foo *) { /* masse fin kode her */ }

struct bar { int y; }


- Finn Arne

0 new messages