Я продолжаю сталкиваться с этой проблемой:
class CCreateShortcutTask : public CTask
{
public:
CCreateShortcutTask(
CFilename filename, // shortcut to create (or overwrite)
Toolbox::Windows::CShellLinkInfo definition // shortcut definition
)
...
Необходимость разобрать Toolbox :: Windows :: CShellLinkInfo кажется мне весьма сомнительной. Это в заголовке, поэтому я, конечно, не хочу выдавать , используя объявление пространства имен , или я буду перетаскивать это пространство имен в каждый файл клиента, который включает этот заголовок.
Но я не хочу серьезно называть эти вещи в самом интерфейсе класса. Я бы очень хотел иметь возможность сделать что-то вроде:
class CCreateShortcutTask : public CTask
{
using namespace Toolbox::Windows;
-or possibly-
using Toolbox::Windows::CShellLinkInfo;
public:
CCreateShortcutTask(
CFilename filename, // shortcut to create (or overwrite)
CShellLinkInfo definition // shortcut definition
)
...
Но, похоже, это нелегальные конструкции.
Есть идеи, как этого добиться?
РЕДАКТИРОВАТЬ: Я задал более широкую версию этого вопроса здесь