Использую с своей программе список:
CArray <AbstractRectFigure*, AbstractRectFigure*> m_figures;
Класс AbstractRectFigure наследуется от CObject.
Хочу написать для свего списка процедуру для дампа. Но, к сожалению, следующая конструкция не компилируется:
template<>
void AFXAPI DumpElements<AbstractRectFigure*>(CDumpContext& dc, const AbstractRectFigure** pFigures, int nCount)
{
pFigures;
}
Ошибка:
E:\WORK\ChartEditor\Figures.cpp(32) : error C2912: explicit specialization; 'void __stdcall DumpElements(class CDumpContext &,const class AbstractRectFigure ** ,int)' is not a function template
E:\Dmitry\WORK\ChartEditor\Figures.cpp(31) : see declaration of 'DumpElements'
Компилируется только вариант:
template<>
void AFXAPI DumpElements<AbstractRectFigure>(CDumpContext& dc, const AbstractRectFigure* pFigures, int nCount)
{
pFigures;
}
но такой шаблон никогда не вызывается, потому что он, по-моему, совсем не тот, что нужно. Я искал в Google, но такое впечатление, что никто никогда не использовал DumpElements, кроме самой Microsoft.