위 코드에서 앞서 답변해주신 대로 catch (char const* msg) 로 변경하니 에러없이 잘 동작했습니다.

이후 define 대신 throw "과목 점수는 ... 다!"; 이런식으로
throw 할때도 const가 필요했습니다.

define의 경우는 변하지않는 값? 으로 알고있어서 const가 그럴싸해보이는데 그냥 문자열도 커서올려서 보니

char const[30] "과목 점수는 ... 다!" 이런식으로 나오더라고요.

문자열이 기본적으로? const char*로 되는이유가 따로 있을까요??

막상 char*="호호" 이러면 const가 없다고 문제라고하고
char*=(char*)"호호" 이러면 cout같은거도 잘 되는데요



- dc official App