하나의 클래스에서 함수 포인터 벡터를 사용하고 다른 클래스에서 함수 주소를 전달하려고합니다. 다음 구현에서는 오류가 발생합니다. 올바른 방법은 무엇입니까?C++ 특정 클래스에서 함수 포인터를 다른 클래스의 멤버로 생성
class A
{
public:
void func()
{
}
};
class B
{
public:
std::vector<void(*)()) myVec;
void update_func()
{
myVec.push_back(&A::func);
}
};
int main()
{
B* b = new B;
b->update_func();
return 0;
}
실제 코드를 붙여 넣습니다. 게시 한 내용은 수많은 오타 및 바보 같은 오류가 있습니다. –
그리고 전체 오류도 게시하십시오. – JSQuareD
'func()'은 여전히 private입니다. myVec가 올바르게 선언되지 않았다. 문제가있는 실제 코드를 게시하십시오. –