Resolved
Written on
·
295
1
지금 전문가를 위한 C++ (개정판 3판)으로 공부하고 있습니다.
이 부분에서 오류가 발생해서 구글 검색을 해봤는데도 해결을 하지 못했습니다.
이 예제를 실행시키려면 어떠한 문법을 써야 하나요?
Answer 2
2
수박님의 답변이 정확합니다. 책의 문구를 보시면 "자동으로" 정의된다라고 적혀 있습니다. 바꿔말하면 이미 나도 모르는 사이에 더블언더스코어func더블언더스코어 라는 이름의 변수가 정의가 되어 있기 때문에 같은 이름의 변수를 새로 만들 수가 없습니다. 아마 에러 메시지도 그렇게 나왔을 겁니다.
강의와 직접적으로 연관되지 않은 질문은 디스코드로 오세요.
2
안녕하세요, 답변 도우미 Soobak 입니다.
__func__
라는 사전 정의 식별자는 C++11
표준 이후부터 지원되는 기능입니다.
따라서, 첫 번째로 컴파일러의 버전을 확인해보시길 바랍니다.
두 번째로, 질문자님께서 예제의 어떠한 부분부터 실행에 문제를 겪으셨는지 제가 알 수 없어서 도움을 드리는 데에 한계가 있네요. 🥲
해당 내용을 활용한 간단한 예시 코드를 첨부드리오니, 확인해보시고 추가적인 궁금증이 있으시다면 편하게 댓글을 남겨주시면 감사하겠습니다.
예시코드
: addNumbers()
함수를 실행할 시, 함수의 이름을 출력하여, 로그(Log)를 남기도록 합니다.
#include <iostream>
int addNumbers(int number1, int number2)
{
std::cout << "Entering function " << __func__ << std::endl;
return number1 + number2;
}
int main() {
int sum = addNumbers(5, 3);
std::cout << "Sum: " << sum << std::endl;
return 0;
}
실행결과
감사합니다.