내 문제는 여기에있다. C++에서 가상 클래스의 파생 클래스를 반환
나는 나는 또한 순수 가상 함수 연산자 (과 템플릿 추상 클래스 프로세스가template<T>
class RandomVariable<T> {
public:
virtual T operator()() = 0;
/* other stuff */
protected:
T value;
}
순수 가상 함수 연산자()()와 템플릿 추상 클래스 RandomVariable)()
template<T>
class Process<T> {
public:
typedef std::pair<double, T> state;
typedef std::list<state> result_type;
virtual result_type operator()() = 0;
/* other stuff */
protected:
result_type trajectory;
}
이
경로를 생성하고 내 궤도의 마지막 값을 반환하는 메서드를 쉽게 작성할 수 있습니다.
T GenerateTerminalValue() {
this->operator()();
return value.back().second;
};
그러나 대신() 내 기능은 실제로 오버로드 된 연산자 (이상적으로 RandomVariable에서 파생 된) 펑터를 반환 타입 T를 반환 경로를 생성하고 궤도의 마지막 값을 반환하는 경우 훨씬 더 좋을 것이다. 최선의 시도는 세분화 오류로 이어졌습니다.
이 작업을 수행하는 좋은 방법은 무엇입니까? 감사.
"내 최고의 단지 분할 고장을 주도 해보십시오." 나는 오류를 찾으려고 노력하고있다. 그러나 나의 마술 수정은 오늘 너무나 잘 작동하지 않고있다. –