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

问题描述 投票:-1回答:1

我一直在迁移到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的方法是什么?

EDIT编译器说:

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

请有人帮帮我!

c++ visual-c++ visual-studio-2013 stl
1个回答
0
投票

看起来类模板被重命名为moddir_policy.它们有类似的typedef:

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

所以你可以使用以下typedef:

typedef winstl_ns_qual(module_directory)          module_directory;

要么

using winstl_ns_qual(module_directory);

甚至

using module_directory = winstl_ns_qual(module_directory);
© www.soinside.com 2019 - 2024. All rights reserved.