Kwalifikatory typu.

0

Witam!

Nurtuje mnie następujące zagadnienie: w którym miejscu należy pisać kwalifikatory typu funkcji/metod. Czy należy je wpisywać tylko w deklaracji lub tylko w definicji? A może należy to robić w dwóch miejscach? Czy napisanie ich zarówno w deklaracji jak i w definicji jest błędem?

Pozdrawiam,
wazka260196

0

Dlaczego nie sprawdzisz?

0

To nie jest kwestia stylu programowania tylko wymogów kompilatora. A te powinieneś móc sam sprawdzić.
Jeśli nie potrafisz sam sprawdzić, to podaj przykładowy kod.

0

Ok zatem przykład o co mi chodzi:

volatile int fun(void);
int fun(void)
{
	return 42;
} 

Wiadomo, że jest złe, ponieważ "cannot overload functions distinguished by return type alone".
Powinno być:

volatile int fun(void);
volatile int fun(void)
{
	return 42;
} 

Tutaj wszystko się zgadza. A co w przypadku storage classes i function specifiers? Czy w przypadku tego kodu "static" powinno pojawić się również w definicji funkcji czy wystarczy "tak jak jest":

static int fun(void);
int fun(void)
{
	return 42;
} 
0

Czy w przypadku tego kodu "static" powinno pojawić się również w definicji funkcji czy wystarczy "tak jak jest":

Kod się kompiluje a funkcja jest statyczna, ale taki zapis może być mylący.

0

@Azarien - znaczy to mniej więcej tyle, że "w dobrym tonie" będzie zamieszczenie tego zarówno w deklaracji jak i definicji. Zgadza się?

0

znaczy to mniej więcej tyle, że
deklaracje w zasięgu globalnym są static.

1 użytkowników online, w tym zalogowanych: 0, gości: 1