인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

hoony6711님의 프로필 이미지
hoony6711

작성한 질문수

홍정모의 따라하며 배우는 C++

4.1 지역 변수, 범위, 지속기간

함수 출력 값

해결된 질문

작성

·

198

0

아래 함수를 출력하면 
7이 나와야 할거 같은데... 
1이 출력이 됩니다...  
 
namespace work3::work33::work3333 //컴파일러 버전 17적용해야됨 { int a(1); void doSomething() { a += 6; } }

 

 
int main()
{
work3::work33::work3333::a;
work3::work33::work3333::doSomething;
cout << work3::work33::work3333::a << endl;
cout << work3::work33::work3333::doSomething << endl;
}

 

답변 2

0

hoony6711님의 프로필 이미지
hoony6711
질문자

감사합니다. 확인 했어요~^^

근데 괄호 부분은 컴파일러가 잡아주지는 않나보네영 ^^;;

뒤에서 배우시겠지만 함수 이름만 달랑쓰면 그 함수의 주소값을 의미합니다. 그렇기 때문에 저건 컴파일 에러가 없는 정상적인 문법을 가진 문장이에요! 그래서 컴파일러가 잡아주지 않았던 것입니다. 뒤에서 배우시겠지만 함수 이름만 달랑쓰면 그 함수의 주소값을 의미합니다. 

0

work3::work33::work3333::doSomething; 여기서

그냥 doSomething; 이라고만 하셨기 때문입니다. 함수 실행이 안된거에요..!

doSomething(); 이렇게 괄호 넣어야 함수가 호출됩니다. 

hoony6711님의 프로필 이미지
hoony6711

작성한 질문수

질문하기