hash_map 问题???

herman011 2008-06-26 03:27:42
struct reads_unique_cDNA
{
reads_unique_cDNA(const unsigned int ci,const unsigned int co,const unsigned short mm,const bool st,const bool un) :
cDNA_id(ci),cDNA_offset(co),mismatch(mm),strand(st),unique(un){}

unsigned int cDNA_id;
unsigned int cDNA_offset;
unsigned int reads_id;
unsigned mismatch :3;
unsigned strand :1;
unsigned unique :1;
};


scan_spliced(hash_map<unsigned int, reads_unique_cDNA> &temp)
{}

hash_map<unsigned int, reads_unique_cDNA> reads_spliced;


scan_spliced(reads_spliced);




不加 scan_spliced(reads_spliced); 编译通过, 一加这一句 就不行。。。



In instantiation of `std::pair<const unsigned int, cDNA_unique_map>':

544 C:\Dev-Cpp\include\c++\3.4.2\bits\stl_function.h instantiated from `std::_Select1st<std::pair<const unsigned int, cDNA_unique_map> >'

...全文
171 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vitin 2008-06-26
  • 打赏
  • 举报
回复
应该是 reads_unique_cDNA 缺少一个默认构造函数。hash_map 的某些功能中会用到。
象这样:

struct reads_unique_cDNA
{
reads_unique_cDNA(const unsigned int ci,const unsigned int co,const unsigned short mm,
const bool st,const bool un) :
cDNA_id(ci),cDNA_offset(co),mismatch(mm),strand(st),unique(un){}

reads_unique_cDNA() { /* ... */ } // default constructor

unsigned int cDNA_id;
unsigned int cDNA_offset;
unsigned int reads_id;
unsigned mismatch :3;
unsigned strand :1;
unsigned unique :1;
};

donwmufromdying 2008-06-26
  • 打赏
  • 举报
回复
我在我这边的环境测试,能通过!
我的solaris+sunstudio
donwmufromdying 2008-06-26
  • 打赏
  • 举报
回复
其他没发现有问题
要么最好
typedef hash_map <unsigned int, reads_unique_cDNA> MYMAP;

void scan_spliced(MYMAP& temp)
{}

MYMAP reads_spliced;

scan_spliced(reads_spliced);

herman011 2008-06-26
  • 打赏
  • 举报
回复
忘记 写上 void 了

程序 本来是写了的。。。。。


不关这个事。。。。
donwmufromdying 2008-06-26
  • 打赏
  • 举报
回复
scan_spliced(hash_map <unsigned int, reads_unique_cDNA> &temp)
{}
这个函数怎么没有返回的

你试试
void scan_spliced(hash_map <unsigned int, reads_unique_cDNA> &temp)
{}
K行天下 2008-06-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 taodm 的回复:]
找本《stl源码剖析》看看吧。
另外,直接用map吧,一般用hash_map的都是滥用。
[/Quote]
up
herman011 2008-06-26
  • 打赏
  • 举报
回复
怎么 一传到函数里 就不行
taodm 2008-06-26
  • 打赏
  • 举报
回复
找本《stl源码剖析》看看吧。
另外,直接用map吧,一般用hash_map的都是滥用。

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧