Kwalifikatory typu.

Wazka260196
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 52
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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
0

Dlaczego nie sprawdzisz?

vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
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.

Wazka260196
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 52
0

Ok zatem przykład o co mi chodzi:

Kopiuj
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ć:

Kopiuj
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":

Kopiuj
static int fun(void);
int fun(void)
{
	return 42;
} 
Azarien
  • Rejestracja: dni
  • Ostatnio: dni
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.

Wazka260196
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 52
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ę?

carlosmay
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Pabianice
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.