クラスを自分のバージョンで上書きしてから、そのクラスへのスーパークラス参照を作成しようとしていますが、コンパイルエラーが発生します。これが私のコード構造です
ファイル:RailExtractionInteractorStyle.h(これはスーパークラスPCLVisualizerInteractorを継承する私のサブクラスです)
#include<pcl/visualization/interactor_style.h>
class RailExtractionInteractorStyle : public pcl::visualization::PCLVisualizerInteractorStyle
{
public:
RailExtractionInteractorStyle();
};
ファイル:RailExtractionInteractor.cpp:
#include "RailExtractionInteractorStyle.h"
RailExtractionInteractorStyle::RailExtractionInteractorStyle()
: pcl::visualization::PCLVisualizerInteractorStyle()
{
// just calling super constructor for now
}
ファイル:CloudPointPicker.hpp(RailExtractionInteractorStyleクラスを使用する任意のクラス)
#include "RailExtractionInteractorStyle.h"
template <typename PointT>
class CloudPointPicker {
protected:
PointCloudTConstPtr cloud_;
boost::shared_ptr<pcl::visualization::PCLVisualizer> myview_;
//attempting to write my own interactor
RailExtractionInteractorStyle* mystyle_;
public:
CloudPointPicker() {
*mystyle_ = new RailExtractionInteractorStyle;
}
CloudPointPickerコンストラクターのステートメントにより、次のエラーが発生します。
error: no match for ‘operator=’ in ‘*((CloudPointPicker<pcl::PointXYZ>*)this)->CloudPointPicker<pcl::PointXYZ>::mystyle_ = (operator new(480u), (<statement>, ((RailExtractionInteractorStyle*)<anonymous>)))’
私は何が間違っているのですか?