0
이 유형의 맵을 채우는 방법과 주로 함수 포인터에 액세스하는 방법을 알고 싶습니다.std :: map <std :: pair <enum1, enum2>, funcPtr>을 채우고 액세스하는 방법?
는지도 :이처럼 그것을 채울
enum enum1
{
val11,
val12,
val13
};
enum enum2
{
val21,
val22,
val23
};
typedef void(MyClass::*funcPtr)();
std::map<std::pair<enum1, enum2>, funcPtr> map;
, 작동하는 것 같다 :
map.insert(std::make_pair(std::make_pair(val11, val21), &MyClass::init));
을하지만이 같은 기능에 액세스 할 수 없습니다
map[std::make_pair<val11, val21>]();
내가 뭘 잘못하고 있니?
내가 노력하고있어'이 -> * (map [std :: make_pair (val11, val21)])();'오류가 발생했습니다 : '오류 :'. * '또는'-> * '를 사용하여 [.. .] ' – Elfayer
우선 순위 문제입니다. 시도해 보라.'(this -> * map [std :: make_pair (val11, val21)])();' –
네, 저의 실수는 첫 번째 괄호를 잊어 버렸습니다. ^^ – Elfayer