다음을 통해 공유


함수 선언 구문입니다.

함수가 전역 수 있습니다 하거나 클래스 또는 구조체의 멤버입니다.다음 시퀀스를 사용 하 여 선언 된:

[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. 선언 지정자입니다.참조 하십시오 지정자.

    • 선택적 클래스 내에서 friend 지정자입니다.

    • 선택적 저장소 클래스 지정 자가 있습니다.전역 함수에 대 한 허용 가능한 저장소 클래스 지정자는 정적 및 extern.클래스 멤버 함수에 대 한 extern 허용 되지 않습니다.

    • 선택적 함수 지정자입니다.전역 함수에만 허용 함수 지정자입니다 인라인. 클래스 멤버 함수에 대 한 가상인라인 은 허용 되 고 생성자에 대 한 명시적.

    • 반환 형식을 나타내는 형식 지정자 (포인터 또는 참조 형식 사용 하 여 수정 될 수 * 또는 &) 합니다.

  2. 선언 자 있습니다.

    • 선택적 포인터 또는 참조 운영자 반환 형식 수정

    • 호출 규칙을 지정 하는 선택적 Microsoft 특정 한정자입니다.참조 하십시오 Microsoft 특정 한정자.

    • 함수의 이름입니다.클래스 또는 구조체의 멤버 함수인 경우 범위 결정 연산자를 사용 하 여 이름이 정규화 될 수 있습니다.

    • 괄호 안에 인수 선언 목록 ().

    • 선택적 const 또는 volatile 한정자입니다.여기에서 const 클래스 멤버에만 사용할 수 있습니다 및 함수는 클래스의 데이터 멤버를 수정 하지 않는 것을 나타내는 데 사용 됩니다.

선언 자를 구문을 반환 형식이 함수 포인터인 경우 아래 설명 된 것 처럼 좀 더 복잡 한 수 있습니다.

  1. 함수는 예외를 나타내는 선택적 예외 규정을 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);

앞의 선언은 위의 형식 정의 사용 하 여 선언 하는 것 같습니다.

참고 항목

참조

함수 선언