2

我使用数据结构bimap

typedef boost::bimap< std::string, int > hash_bimap;
typedef hash_bimap::value_type position;
hash_bimap perm;

它在主文件中工作正常。但是,我有兴趣在头文件中使用它以使其在任何其他.cpp文件中都可以访问。

当我试图让它externmy.h

extern typedef boost::bimap< std::string, int > hash_bimap;
extern typedef hash_bimap::value_type position;
extern hash_bimap perm;

'hash_bimap' extern typedef boost::bimap< std::string, int > hash_bimap 声明中的说明符冲突;

4

1 回答 1

3

(详细说明 kfsone 的评论)typedefs 不需要是 extern,只是实际变量:

typedef boost::bimap< std::string, int > hash_bimap;
typedef hash_bimap::value_type position;
extern hash_bimap perm;
于 2016-05-19T16:52:07.013 回答