对于1.9.xx版本的STLSoft,basic_module_directory的typedef的定义语法如何?

时间:2017-09-01 19:05:29

标签: c++ visual-c++ visual-studio-2013 stl

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

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

编译在typedef行上给出了一个错误,因为module_diretory.hpp在它成为类之前发生了变化,现在还有其他结构。 我的问题是这样做的方法是什么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

请有人帮助我!

1 个答案:

答案 0 :(得分:0)

看起来类模板已重命名为typedef winstl_ns_qual(module_directory) module_directory; 它们具有类似的typedef:

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

所以你可以使用以下typedef:

using winstl_ns_qual(module_directory);

using module_directory = winstl_ns_qual(module_directory);

甚至

BaseEvaluator