void 함수는 아무런 값도 반환하지 않는다고 하여 'void'라고 부릅니다. 흔히 "void 함수는 어떤 것도 반환할 수 없다"라고 알려져 있지만, 이는 항상 참이라고 볼 수 없습니다. void 함수에서 값을 반환하는 것은 불가능하지만, 값 이외의 다른 형태의 반환은 충분히 가능합니다. 대표적인 방법은 다음과 같습니다.
void 함수에서 return 문 사용하기
void 함수는 어떠한 값도 반환할 수 없습니다. 하지만 return 문 자체는 사용할 수 있으며, 이 경우 return 문은 함수의 실행을 즉시 종료한다는 의미로 작동합니다. 특히 조건문 안에서 함수를 중간에 빠져나와야 하는 상황에서 return 문을 활용하면 코드의 가독성이 크게 향상됩니다.
예제 코드
#include <iostream>
using namespace std;
void my_func() {
cout << "From my_function" << endl;
return;
}
int main() {
my_func();
return 0;
}실행 결과
From my_function
void 함수에서 다른 void 함수 반환하기
또 하나 흥미로운 방법은 void 함수가 종료되는 시점에 다른 void 함수를 호출하며 반환하는 것입니다. 이렇게 하면 한 함수의 마지막 동작으로 다른 함수를 자연스럽게 연결해 실행할 수 있습니다. 코드는 다음과 같습니다.
예제 코드
#include <iostream>
using namespace std;
void another_func() {
cout << "From another_function" << endl;
return;
}
void my_func() {
cout << "From my_function" << endl;
return another_func();
}
int main() {
my_func();
return 0;
}실행 결과
From my_function From another_function