Udostępnij za pośrednictwem


Składnia deklaracji funkcji

Funkcje mogą być globalne lub członkowie klasy lub struktury.Są one zgłoszone, za pomocą następującej sekwencji:

[friend] [storage-class-specifier] [function-specifier]
[[cv-qualifer] type-specifier] declarator [cv-qualifer] 
[exception-spec]
[friend] [storage-class-specifier] [function-specifier]
[[cv-qualifer] type-specifier] [*|&] [ms-modifer] identifier 
( argument-list ) [cv-qualifer] [exception-spec]
  1. Specyfikator deklaracji.Zobacz Specyfikatory.

    • W klasie, opcjonalny friend specyfikatora.

    • Specyfikator klasy magazynowania opcjonalne.Funkcje globalne Specyfikatory klasy magazynowania dopuszczalne są statyczne i extern.Dla klasy funkcji elementów członkowskich extern nie jest dozwolone.

    • Specyfikator funkcji opcjonalnych.Funkcje globalne Specyfikator funkcji tylko dopuszczalne jest wbudowanej. Dla klasy funkcji elementów członkowskich wirtualnego i inline są dozwolone i dla konstruktorów, jawne.

    • Specyfikator typu, wskazujące typ zwracany (z zastrzeżeniem modyfikacji typu wskaźnik lub odniesienia, za pomocą * lub &).

  2. Niewłaściwy deklarator.

    • Opcjonalne wskaźnik lub operatora(-ów) odniesienia, modyfikowanie zwracany typ

    • Opcjonalne Microsoft szczególnych modyfikatora określające konwencję wywołania.Zobacz modyfikatorów programu Microsoft.

    • Nazwa funkcji.Jeśli funkcja jest członkiem klasy lub struktury, mogą zostać zakwalifikowane nazwę operatora zakres rozdzielczości.

    • Wykaz deklaracji argument ujęty w nawiasy ().

    • Opcjonalne kwalifikator const lub volatile.W tym kontekście const być używane tylko dla członków klasy i jest używany do wskazania funkcji nie będą modyfikować dane członkowie klasy.

Jeśli typ zwracany jest wskaźnik funkcji, składnia; niewłaściwy deklarator może być bardziej złożone, jak wyjaśniono poniżej.

  1. Specyfikacja wyjątek opcjonalny wskazujący jakie wyjątki zgłasza funkcji.Zobacz specyfikacji wyjątek.

Typ identyfikatora, tak zgłoszonych, które mogą być zbudowane w następujący sposób: const lub funkcji lotnych (Jeśli określono), biorąc na liście określony argument zwraca typ wskazany przez Specyfikator deklaracji.

Poniższy przykład przedstawia dwie deklaracje prosta funkcja:

char *strchr( char *dest, char *src );
static int atoi( const char *ascnum ) const;

Deklarowanie funkcji zwracających wskaźników do funkcji

Zalecane jest typedef celu zgłoszenia aliasem dla typu wskaźnik funkcji, jeśli deklarowania funkcji, która zwraca typ wskaźnika funkcji.Na przykład

typedef int (*fp)(int);
fp myFunction(char* s); // function returning function pointer

Jeśli nie zostanie to zrobione, prawidłowej składni dla deklaracji funkcji mogą być wywnioskowane ze składni; niewłaściwy deklarator wskaźnik funkcji przez zastąpienie identyfikatora (fp w powyższym przykładzie) z nazwą i argument listy funkcji, w następujący sposób:

int (*myFunction(char* s))(int);

Deklaracja poprzedniego jest równoważne deklaracji, przy użyciu elementu typedef powyżej.

Zobacz też

Informacje

Deklaracje funkcji