class Test
{
public:
int x1(int i) { return i; }
int x2(int i) { return i * i; }
int x3(int i) { return i * i * i; }
int select(int i, int j)
{
typedef int (Test::*FnType) (int);
constexpr FnType FN[] = { &Test::x1, &Test::x2, &Test::x3 };
return FN[j](i);
}
};
컴파일 안됨.. 정상적인 방법 뭔지 아냐?
이쪽이 걸리네 typedef int (Test::*FnType) (int); 이거 Test:: 지우고 할당 해줄 떄 Test::함수 이름 요렇게 해봐
static으로 해서 접근하던지 인스턴스화 해줘야할거임
걍 switch로 했어 뭐 60초에 30만번정도 들어가는거면 별차이없겠지?
저렇게 일일이 하는것보단 나였으면 리쿼시브 썼다
애초에 저 코드상으로 비춰봤을때 의도 파악이 안된다
ㅇㅇ 저건 그냥예시임
return (this->*FN[j])(i);