声明 C++ 中的说明符冲突
Conflicting specifiers in declaration c++
我用的是数据结构bimap
typedef boost::bimap< std::string, int > hash_bimap;
typedef hash_bimap::value_type position;
hash_bimap perm;
它在主文件中工作正常。但是,我有兴趣在头文件中使用它,以便在任何其他 .cpp
文件中访问它。
当我尝试像
那样在 my.h
中做到 extern
extern typedef boost::bimap< std::string, int > hash_bimap;
extern typedef hash_bimap::value_type position;
extern hash_bimap perm;
conflicting specifiers in declaration of ‘hash_bimap’
extern typedef boost::bimap< std::string, int > hash_bimap;
(详细说明 kfsone 的评论)typedef
s 不需要是外部的,只需实际变量:
typedef boost::bimap< std::string, int > hash_bimap;
typedef hash_bimap::value_type position;
extern hash_bimap perm;
我用的是数据结构bimap
typedef boost::bimap< std::string, int > hash_bimap;
typedef hash_bimap::value_type position;
hash_bimap perm;
它在主文件中工作正常。但是,我有兴趣在头文件中使用它,以便在任何其他 .cpp
文件中访问它。
当我尝试像
那样在my.h
中做到 extern
extern typedef boost::bimap< std::string, int > hash_bimap;
extern typedef hash_bimap::value_type position;
extern hash_bimap perm;
conflicting specifiers in declaration of ‘hash_bimap’ extern typedef boost::bimap< std::string, int > hash_bimap;
(详细说明 kfsone 的评论)typedef
s 不需要是外部的,只需实际变量:
typedef boost::bimap< std::string, int > hash_bimap;
typedef hash_bimap::value_type position;
extern hash_bimap perm;