[elektro] C typedef kérdés

Palasik Sandor palasik at mail.datanet.hu
Thu Apr 24 21:01:21 CEST 2008


A typedefben csak dekorációnak vannak a paraméternevek, de a függvényhez
kellenek, azaz a typedefből csak ennyit "használ" :

typedef  (CondFunc)(int , int*);

A változóneveket csak azért lehet beírni, hogy egyszerűen lehessen a
függvény fejlécéből deklarációt csinálni a rámutató pointerhez.

> CondFunc AlrCond ;
> függvény hivatkozást simán elfogadja.

Igen, mert ez csak annyit állít, hogy van egy ilyen nevű függvény ilyen
típusú paraméterekkel. A név szintén dekoráció. Ha meg is adod, nem
ellenőrzi, hogy ugyanazokat a neveket használod-e a definícióban is.

Tehát teljesen legális pl:

int x(int ez);

int x(int az)
{
    return az;
}

> CondFunc AlrCond(int i, int*p)
> {};
> már hibátlanul fordítja.

Ide és csak ide már valóban kellenek a nevek. Mondjuk a pontosvessző viszont 
nem kell.

Palasik Sándor



More information about the Elektro mailing list