가변인자 함수로 함수 오버로딩할 수 있을까요?
지존
#include stdio.h// printf()
#include stdarg.h// va_list(), va_start(), va_arg(), va_end()
#include string.h// strcmp()
#define CALL_BY_11개로 호출
#define CALL_BY_22개로 호출
#define ERROR-1
void setNumber( const char *format, int *count, ... );
void printNumber( const int number );
int main( void )
{
int number;
printf( 인자 1개로 호출 \n );
setNumber( 1개로 호출, &number );
printNumber( number );
printf( 인자 2개로 호출 \n );
setNumber( 2개로 호출, &number, 10 );
printNumber( number );
return 0;
}
void setNumber( const char *format, int *count, ... )
{
va_list list;
va_start( list, count );
if( 0 == strcmp(format, CALL_BY_1) ) {
*count = 0;
} else if( 0 == strcmp(format, CALL_BY_2) ) {
*count = va_arg( list, int );
} else {
*count = ERROR;
}
va_end( list );
}
void printNumber( const int number )
{
printf( number: %d \n\n, number );
}
---------------------------------------------------------------------------
안녕하세요, 원래 소스는 리스트 자료 구조에서 가변인자함수를 정의했는데,가져오기너무 길고 복잡해서 각색했습니다.
첫 번째 인자에서 뭔가 정보를 줘야만 할 것 같은데요... 지금은 그냥 이렇게 쓰고 있는데 오버로딩처럼 될 수 있는지 궁금합니다. 혹은 이것보다 더 좋은 방법도 있으면 좋겠고요.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2690517 | cygwin에서요.. (1) | 엘보어 | 2025-04-05 |
2690486 | 문자열과 문자형이요 ~ | 다스리 | 2025-04-05 |
2690344 | 일본어 주석 깨짐 문제 (3) | 연하얀 | 2025-04-04 |
2690314 | 암호문 만들기 -비제네르- | 이퓨리한나 | 2025-04-03 |
2690292 | 왕초보자의 질문!!!!!! 도와주세요 (1) | 하랑 | 2025-04-03 |
2690269 | 정올 문제 인데.. 흠 | 반월 | 2025-04-03 |
2690237 | sizeof에서 short형을 썻는데 왜 4byte가 나올까요? (1) | 바나나 | 2025-04-03 |
2690183 | 문자열과 포인트 비교 (2) | 미즈 | 2025-04-02 |
2690154 | a -48 ? | 희미한눈물 | 2025-04-02 |
2690094 | 테트리스 질문요. | 지후 | 2025-04-01 |
2690066 | 문자열비교!! (1) | 매디 | 2025-04-01 |
2689888 | 좀도와주세요;; ㅠㅠ | 사람 | 2025-03-30 |
2689856 | 메뉴 그리는 거 질문 | 나라빛 | 2025-03-30 |
2689831 | c언어 프로그램 추천 | 하연 | 2025-03-30 |
2689801 | c언어 time.h에서 작동이 중지되었습니다. | 하람 | 2025-03-30 |
2689772 | 2차원 배열의 배열명에 대해서.. | 옆집꼬마야 | 2025-03-29 |
2689740 | 게임 TCP소켓 질문 (2) | 불꾼 | 2025-03-29 |
2689711 | 반복문 모래시계 | 한뎃집 | 2025-03-29 |
2689685 | 경우의 수에 따른 결과 처리 질문드립니다. (2) | 다흰 | 2025-03-29 |
2689655 | .exe에 아이콘 넣는 법좀 알려주세요 | 연하얀 | 2025-03-28 |