본문 바로가기
프로그래밍언어/C언어[Error]

[C언어][Error] 011. ‘return’ with a value, in function returning void – void 함수에서 값을 반환함

by about_IT 2025. 4. 22.

이 오류는 반환형이 void인 함수에서 return문을 사용할 때, 값을 함께 반환하려고 할 경우 발생합니다. void 함수는 값을 반환하지 않는 함수이므로, return 문에는 아무 값도 포함되지 않아야 합니다.

 

반환형이 void인 함수에 return 뒤에 값을 넣으면 컴파일러는 이 동작이 잘못되었다고 판단하고 오류를 발생시킵니다.

 

다음은 오류가 발생하는 잘못된 예시입니다.

#include <stdio.h>

void greet() {
    return 1;  // 오류: void 함수는 값을 반환할 수 없음
}

int main() {
    greet();
    return 0;
}

컴파일 시 다음과 같은 오류가 출력됩니다.

error: ‘return’ with a value, in function returning void

 

정상적인 코드는 다음과 같습니다.

#include <stdio.h>

void greet() {
    printf("Hello!\n");
    return;  // 값을 반환하지 않음
}

int main() {
    greet();
    return 0;
}

출력 결과:

Hello!

 

● 실전 팁

  • 반환값이 있는 return 문은 반드시 int, char 등 반환형이 있는 함수에서만 사용하세요.
  • void 함수에서는 return;만 사용하거나 생략할 수 있습니다.
  • 컴파일러의 반환형 경고를 무시하지 말고, 함수의 시그니처와 일치하도록 작성하세요.

 

반환형에 맞지 않는 return 문은 흔히 발생하는 실수이므로, 함수 작성 시 반드시 void인지 반환형이 있는 함수인지 구분하여 return을 사용하는 것이 중요합니다.