강의

멘토링

커뮤니티

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

leehoogwan님의 프로필 이미지
leehoogwan

작성한 질문수

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

12.5 동적 바인딩과 정적 바인딩

코딩이 오류가 납니다 ㅜㅜ

작성

·

225

0

안녕하세요! 코딩하다가 오류가 해결이 안돼 질문 남깁니다.

#include <iostream>

using namespace std;

int add(int x, int y)

{

return x + y;

}

int subtract(int x, int y)

{

return x - y;

}

int multiply(int x, int y)

{

return x * y;

}

int main()

{

int x, y;

cin >> x >> y;

int op;

cout << "0: add, 1: subtract, 2:multiply" << endl;

cin >> op;

//1. static binding (early binding)

/*int result;

switch (op)

{

case 0:

result = add(x, y); 

break;

case 1:

result = subtract(x, y);

break;

case 2:

result = multiply(x, y);

break;

}

cout << result << endl;

*/

//2. Dynamic binding (late binding)

//함수의 포인터를 정의 하고, switch문으로 함수의 포인터에 함수를 직접 넣어준다.

int(*func_ptr)(int, int) = nullptr;

switch (op)

{

case 0:

func_ptr = add; break;

case 1:

func_ptr = subtract; break;

case 2:

func_ptr = multiply; break;

}

cout << func_ptr(x, y) << endl;

return 0;

}

이렇게 코딩했는데, exception thrown 이라는 오류가 나오네요.. 구글링해봤는데 이부분에 대한 설명은 잘 안나온 것 같아서요! 혹시 어떤부분이 잘못됐는지 알려주실 수 있나요?

답변 1

0

안녕하세요.

질문 주신 코드 그대로 복사 붙여넣기 해서 실행해보았는데 저는 아무 에러도 뜨지 않습니다..! 

에러 화면과 어떤 입력값을 넣으셨엇는지 이런 구체적인 정보를 알려주실 수 있을까요?

leehoogwan님의 프로필 이미지
leehoogwan

작성한 질문수

질문하기