함수 선언 구문입니다.
함수가 전역 수 있습니다 하거나 클래스 또는 구조체의 멤버입니다.다음 시퀀스를 사용 하 여 선언 된:
[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]
선언 지정자입니다.참조 하십시오 지정자.
선택적 클래스 내에서 friend 지정자입니다.
선택적 저장소 클래스 지정 자가 있습니다.전역 함수에 대 한 허용 가능한 저장소 클래스 지정자는 정적 및 extern.클래스 멤버 함수에 대 한 extern 허용 되지 않습니다.
선택적 함수 지정자입니다.전역 함수에만 허용 함수 지정자입니다 인라인. 클래스 멤버 함수에 대 한 가상 및 인라인 은 허용 되 고 생성자에 대 한 명시적.
반환 형식을 나타내는 형식 지정자 (포인터 또는 참조 형식 사용 하 여 수정 될 수 * 또는 &) 합니다.
선언 자 있습니다.
선택적 포인터 또는 참조 운영자 반환 형식 수정
호출 규칙을 지정 하는 선택적 Microsoft 특정 한정자입니다.참조 하십시오 Microsoft 특정 한정자.
함수의 이름입니다.클래스 또는 구조체의 멤버 함수인 경우 범위 결정 연산자를 사용 하 여 이름이 정규화 될 수 있습니다.
괄호 안에 인수 선언 목록 ().
선택적 const 또는 volatile 한정자입니다.여기에서 const 클래스 멤버에만 사용할 수 있습니다 및 함수는 클래스의 데이터 멤버를 수정 하지 않는 것을 나타내는 데 사용 됩니다.
선언 자를 구문을 반환 형식이 함수 포인터인 경우 아래 설명 된 것 처럼 좀 더 복잡 한 수 있습니다.
- 함수는 예외를 나타내는 선택적 예외 규정을 throw 합니다.참조 하십시오 예외 사양.
선언 된 식별자의 형식을 다음과 같이 구성 될 수 있습니다: const 또는 volatile (지정 된 경우) 함수를 선언 지정자로 표시 된 형식을 반환 하는 지정 된 인수 목록, 수행 합니다.
다음 예제에서는 두 개의 간단한 함수 선언을 보여 줍니다.
char *strchr( char *dest, char *src );
static int atoi( const char *ascnum ) const;
함수에 대 한 포인터를 반환 하는 함수를 선언 합니다.
것이 좋습니다 typedef 함수 포인터 형식을 반환 하는 함수를 선언할 경우 함수 포인터 형식에 대해 별칭을 선언 하는 데 사용 됩니다.예
typedef int (*fp)(int);
fp myFunction(char* s); // function returning function pointer
그렇지 않을 경우 함수 선언에 대 한 올바른 구문 함수 포인터 선언 자 구문은 식별자를 대체 하 여 추론할 수 있습니다 (fp 위의 예제에서) 함수 이름 및 인수 목록에서 다음과 같이 사용 합니다.
int (*myFunction(char* s))(int);
앞의 선언은 위의 형식 정의 사용 하 여 선언 하는 것 같습니다.