강의

멘토링

커뮤니티

Inflearn Community Q&A

asd8888771554's profile image
asd8888771554

asked

[MMORPG Game Development with C++ and Unreal Series] Part 1: Introduction to C++ Programming

Function Pointer #1

글로벌 선언? 전역선언? 을 하니까 함수 포인터의 fn 까지는 잘 되는데 그이후가 안되네요

Written on

·

210

0

int sub(int a, int b)

{

return  a + b;

}

 

 

typedef int(Fanc_sub)(int, int);

Fanc_sub* fn;

fn = sub;

int main()

{

int c = fn(1, 2);

cout << c << endl;

return 0;

}

 

mine 실행부분 안쪽에 넣어놓지 않고 그 외부에 선언을 하니까 저 빨간부분이 작동을 하지 않는데 왜 그러는걸까요 ㅠㅠ 느낌상 메인함수안에서 무언가가 작동해야 되는데 스택 메모리 관련된 부분인가요? 

 

딱 저부분에만 빨간줄이 처지고  형식 지정지가  없다고 나옵니다

 

뭣때문에 저부분에서는 안되는걸까요 ㅠㅠ

C++

Answer 2

0

asd8888771554님의 프로필 이미지
asd8888771554
Questioner

실행이 되야 되는거였는게 키포인트였군요 감사합니다 뭔가 이상해서 한참고민했었네요

0

Rookiss님의 프로필 이미지
Rookiss
Instructor

'선언'만 하는 것이 아니라, 진짜 무엇인가 '실행되는' 코드는
함수 내부에 넣어놔야 실행됩니다.

Fanc_sub* fn = sub;

이렇게 선언과 동시에 초기화하는 특수 문법 상황이 아니라면,
fn = sub 는 fn에다가 sub를 대입하는 것이니
main이든 다른 함수이든 어딘가에 넣어놔야 합니다.

asd8888771554's profile image
asd8888771554

asked

Ask a question