У меня есть класс диалога, который порождает много других диалогов. Пытаюсь создать метод класс (темплейт), который бы создавал эти диалоги. что то примерно так..(пишу с сокращениями)
class NewsDlg;
class AudioDlg;
class ToolBar
{
private:
NewsDlg* p1;
AudioDlg* p2;
private:
template <typename ClassName>
ClassName* CreateNewDialog (UINT resourceID)
{
ClassName* p = new ClassName;
p->Create (resourceID);
return p;
}
};
где то вызываю..
void ToolBar::Init ()
{
p1 = CreateNewDialog <NewsDlg> (IDD_....); // вот здесь компилятор орет что нельзя использовать NewsDlg класс ПОЧЕМУ?
}
если функцию CreateNewDialog делаю глобальной, то все в порядке