STLSoft 1.9.xx版本的basic_module_directory的typedef的定义语法是怎样的

How is the definition syntax of typedef of basic_module_directory for the 1.9.xx version of STLSoft

我一直在迁移到 Visual Studio 一个 STL 项目的 2013 版本,该项目是在旧版本 visual studio 上创建的。它是用很多库开发的,其中之一是进行更改的 STLSoft,我的问题是当我尝试这样做时:

  #include <winstl/module_directory.hpp>
  typedef winstl_ns_qual(basic_module_directory)<TCHAR>  module_directory;

编译在 typedef 行上给我一个错误,因为 module_diretory.hpp 更改,之前是 class,现在有其他结构。 我的问题是如何做到这一点 typedef?

编辑 编译器说:

error C2039: 'basic_module_directory' : is not a member of'stlsoft::winstl_project'
error C2143: syntax error : fault ';' before of '<'
error C4430: type specifier isnt there; hope int . Note: C++ did not admit default int

请有人帮助我!

看起来 class 模板已重命名为 moddir_policy. 它们具有相似的类型定义:

typedef stlsoft_ns_qual(special_string_instance_1)<moddir_policy<TCHAR> > module_directory;

因此您可以使用以下类型定义:

typedef winstl_ns_qual(module_directory)          module_directory;

using winstl_ns_qual(module_directory);

甚至

using module_directory = winstl_ns_qual(module_directory);