#include
typedef enum
{
Do=1, Re=2, Mi=3, Fa=4, So=5, La=6,Ti=7
}Syllable;
void Sound(Syllable sy)
{
switch (sy)
{
case Do:
puts("도");
return;
case Re:
puts("레");
return;
case Mi:
puts("미");
return;
case Fa:
puts("파");
return;
case So:
puts("솔");
return;
case La:
puts("라");
return;
case Ti:
puts("시");
return;
}
}
int main()
{
Syllable tone;
printf("%d", tone);
for (tone = Do; tone <=Ti; tone+=1)
{
}
}
책보고 따라하는대
빨간부분 열거 형식에 대한 이 작업에는 적용 가능한 사용자 정의 연산자 함수가 필요합니다. 라고 에러뜨는대 이렇게하면 안됨?
(int)tome+=1 로 캐스팅 하면 안됨? enum과 int는 다른게 취급하라고 컴파일러마다 권고하고 c++은 저거 못하게 하려고 enum class 제공함
메시지를 이제 봣는데 c++ 로 컴파일 한거 같은데 enum Syllable 에다가 + 연산자 재정의 하라는 메시지인듯.
tone = (Syllable)(tone + 1)