프로그래밍언어/C언어[Error]
[C언어][Error] 090. parameter name omitted – 파라미터 이름 누락
about_IT
2025. 5. 4. 18:57
이 오류는 함수의 매개변수를 선언할 때 자료형은 명시했지만, 변수 이름을 생략했을 경우 발생합니다. C언어에서는 함수 매개변수를 정의할 때 반드시 자료형과 함께 변수 이름도 명시해야 합니다. 이름이 없으면 해당 인자를 사용할 수 없기 때문에, 컴파일러는 이를 문법 오류로 처리합니다.
이 문제는 주로 함수 프로토타입에서 매개변수를 단순히 자료형만 나열하거나, 구현 중 실수로 이름을 빠뜨린 경우에 발생합니다.
● 오류 예제
#include <stdio.h>
void printValue(int); // 선언은 가능하지만...
void printValue(int) { // 정의에서 이름 누락
printf("값 출력\n");
}
컴파일 시 다음과 같은 오류 메시지가 출력될 수 있습니다.
error: parameter name omitted
● 해결 방법
모든 함수 매개변수에는 자료형과 변수 이름을 함께 명시해야 하며, 정의에서는 특히 변수 이름이 반드시 있어야 합니다.
#include <stdio.h>
void printValue(int x) {
printf("%d\n", x);
}
int main() {
printValue(5);
return 0;
}
출력 결과:
5
● 실전 팁
- 함수 정의에서는 모든 매개변수에 변수명을 명시해야 합니다.
- 함수 선언(prototype)에서는 생략이 가능하지만 정의에서는 불가능합니다.
- 변수명을 생략하면 해당 인자를 코드에서 참조할 수 없으므로 문법 오류가 발생합니다.
C언어에서 함수 정의 시 매개변수 이름은 필수이며, 생략할 경우 의미 있는 연산을 수행할 수 없기 때문에, 항상 이름까지 명확히 작성하는 습관을 들이세요.