Hi All,
I'm trying to begin using smart pointers, and when I changed my
typedefs like:
typedef TimeSeriesClass* pTimeSeries;
to
typedef boost::shared_ptr<TimeSeriesClass> pTimeSeries;
where:
class TimeSeriesClass : public wxGridTableBase, public tsObject
{
(...)
}
I get an error in this situation:
myDataAnalyserFrame::myDataAnalyserFrame( wxWindow* parent ,
pTimeSeries myTimeSeries)
:
DataAnalyserFrame( parent )
{
m_myTimeSeries = myTimeSeries;
m_tsOld = new wxGridStringTable( 1, 1 );
DataGrid->SetTable(m_myTimeSeries ,false); => the m_myTimeSeries,
whis is a smart pointer to the TimeSeriesClass, doesn't know that
TimeSeriesClass is also wxGridTableBase child?
m_myTimeSeries->AutoSizeColsLabels();
DataGrid->Refresh();
}
bool SetTable( wxGridTableBase *table, bool takeOwnership = false,
wxGrid::wxGridSelectionModes selmode =
wxGrid::wxGridSelectCells );
The problem occurs because the smart_pointer to the TimeSeriesClass
seems to ignore that TimeSeriesClass is also a wxGridTableBase. With
normal pointers it functions.
Why it does not work? What i'm doing wrong?
Thanks in advance.
Best Regards.
José Augusto