-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
글로벌 선언? 전역선언? 을 하니까 함수 포인터의 fn 까지는 잘 되는데 그이후가 안되네요
21.11.27 12:00 작성 조회수 106
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 실행부분 안쪽에 넣어놓지 않고 그 외부에 선언을 하니까 저 빨간부분이 작동을 하지 않는데 왜 그러는걸까요 ㅠㅠ 느낌상 메인함수안에서 무언가가 작동해야 되는데 스택 메모리 관련된 부분인가요?
딱 저부분에만 빨간줄이 처지고 형식 지정지가 없다고 나옵니다
뭣때문에 저부분에서는 안되는걸까요 ㅠㅠ
답변을 작성해보세요.
0
0
Rookiss
지식공유자2021.11.27
'선언'만 하는 것이 아니라, 진짜 무엇인가 '실행되는' 코드는
함수 내부에 넣어놔야 실행됩니다.
Fanc_sub* fn = sub;
이렇게 선언과 동시에 초기화하는 특수 문법 상황이 아니라면,
fn = sub 는 fn에다가 sub를 대입하는 것이니
main이든 다른 함수이든 어딘가에 넣어놔야 합니다.
답변 2