프로젝트에 OGDF C++ 라이브러리를 사용하려고하는데이 라이브러리 클래스의 보호 된 멤버 함수를 사용하려고합니다. 클래스 나 파생 클래스 외부의 보호 된 멤버에 직접 액세스 할 수 없으므로 Balloon Layout 클래스의 protected 메서드 사용 BallonLayout 클래스를 상속받은 클래스 A를 만들고 클래스 A의 public 함수 "abc()"에서 수퍼 클래스의 보호 된 함수를 호출합니다. 그래서 클래스 외부에서 abc()를 사용할 수 있고 BallonLayout 클래스의 함수를 간접적으로 보호 할 수 있습니다.보호 된 멤버 함수 액세스 중! 분할 오류 (코어 덤프 됨)
여기에 코드를 게시하면 문제가있는 부분을 알려주십시오.
#include <ogdf/basic/Graph.h>
#include <ogdf/basic/graph_generators.h>
#include <ogdf/misclayout/BalloonLayout.h>
using namespace ogdf;
class OGDF_EXPORT A : public BalloonLayout{
public:
void abc(const Graph &G){
selectRoot(G);
}
};
int main()
{
int n = 5, m = 7;
Graph G;
ogdf::planarBiconnectedGraph(G, n, m);
A* a;
a->abc(G);
cout << "Done!!";
return 0;
}
오류없이 컴파일되지만 런타임에 "세그먼트 오류 (코어 덤프 됨)"가 표시됩니다. 이 오류는 메모리에없는 객체 (객체/변수)에 액세스하려고 할 때 발생합니다. 그러나 내가 한 실수는받지 못한다.