반응형
C의 함수에서 열거를 반환합니까?
헤더 파일에 다음과 같은 것이 있을 경우 Foo 유형의 열거형을 반환하는 함수를 선언하려면 어떻게 해야 합니까?
enum Foo
{
BAR,
BAZ
};
저는 그냥 다음과 같은 것을 해도 됩니까?
Foo testFunc()
{
return Foo.BAR;
}
아니면 타입 디프나 포인터 같은 것을 사용해야 합니까?
C++에서는 그냥 사용할 수 있습니다.Foo
.
C에서는 다음을 사용해야 합니다.enum Foo
당신이 그것에 대한 유형의 디프를 제공할 때까지.
그리고 나서, 당신이 언급할 때,BAR
, 사용하지않습니다.Foo.BAR
다만 그냥BAR
. 모든 열거 상수는 동일한 네임스페이스(함수, 변수 등에서 사용되는 "일반 식별자" 네임스페이스)를 공유합니다.
따라서(C의 경우):
enum Foo { BAR, BAZ };
enum Foo testFunc(void)
{
return BAR;
}
아니면.typedef
:
typedef enum Foo { BAR, BAZ } Foo;
Foo testFunc(void)
{
return BAR;
}
저는 개인의 가치관이enum
식별자는 고유한 고유의 식별자이므로 다음을 사용하십시오.
enum Foo testFunc(){
return BAR;
}
몇몇 컴파일러들은 다음과 같이
typedef enum tagFoo
{
BAR,
BAZ,
} Foo;
enum Foo
{
BAR,
BAZ
};
C에서는 반환 유형 앞에 열거형이 있어야 합니다.그리고 개별 열거값을 사용할 때는 어떤 식으로든 한정하지 않습니다.
enum Foo testFunc()
{
enum Foo temp = BAR;
temp = BAZ;
return temp;
}
언급URL : https://stackoverflow.com/questions/742699/returning-an-enum-from-a-function-in-c
반응형
'sourcetip' 카테고리의 다른 글
독특한 콩으로 봄 오토와이어링 : 봄 기대 싱글 매칭콩 단품 발견 2 (0) | 2023.10.05 |
---|---|
특정 카테고리에서 만든 태그 목록 - word press (0) | 2023.10.05 |
WordPress에서 카테고리 목록과 모든 게시물을 표시하려면 어떻게 해야 합니까? (0) | 2023.10.05 |
MYSQL 유니언 구별 (0) | 2023.10.05 |
JDBC를 사용하여 SQL Server 2008 데이터베이스에 연결하려면 어떻게 해야 합니까? (0) | 2023.10.05 |