新手:使用template关键字

highvision25 2008-11-12 11:13:03
C++编程思想里的一个例子
#include <bitset>
#include <cstddef>
#include <iostream>
#include <string>
using namespace std;

template<class charT, size_t N>
basic_string<charT> bitsetToString(const bitset<N>& bs) {
return bs. template to_string<charT, char_traits<charT>,
allocator<charT> >();
}

int main() {
bitset<10> bs;
bs.set(2);
bs.set(5);
cout << bs << endl;
string s = bitsetToString<char>(bs);
cout << s << endl;
return 0;
}
编译提示错误:error C2783: 'class std::basic_string<charT,struct std::char_traits<charT>,class std::allocator<charT> > __cdecl bitsetToString(const class std::bitset<charT> &)' : could not deduce template argument for 'N'
是什么意思?
...全文
130 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mujiok2003 2008-11-12
  • 打赏
  • 举报
回复
不能推导出N的值,g++没有问题,可能跟编译器有关.

试一试
string s = bitsetToString <char,10>(bs);

65,211

社区成员

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

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