我一直在迁移到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
请有人帮帮我!
看起来类模板被重命名为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);