gpt4 book ai didi

c++ - 声明 C++ 中的说明符冲突

转载 作者:搜寻专家 更新时间:2023-10-31 01:35:28 24 4
gpt4 key购买 nike

我使用了一个数据结构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 不需要是外部的,只需是实际的变量:

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

关于c++ - 声明 C++ 中的说明符冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37329321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com