社区
C++ 语言
帖子详情
map
m1;写错了吗?
ks_is
2010-06-13 04:13:08
全局变量申明:
using namespace std;
map<string,BASIC_DATA> m1;
代码链接通过,运行错,调试时watch m1显示:
couldn't find method map<std::basic_string........
我错哪了?
...全文
200
16
打赏
收藏
map<string,BASIC_DATA> m1;写错了吗?
全局变量申明: using namespace std; map m1; 代码链接通过,运行错,调试时watch m1显示: couldn't find method map<std::basic_string........ 我错哪了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taodm
2010-06-17
打赏
举报
回复
你能不能别再折腾啊。gdb自己得去装高版本的,而且就是高版本也不保证的。
ks_is
2010-06-17
打赏
举报
回复
做了个测试:
untitled1.hpp
#ifndef _UPP
#define _UPP
#include <string>
#include <map>
#include <vector>
#include <utility>
using namespace std;
extern std::string s;
extern std::map <int ,std::string> m;
extern std::vector<string> v;
void fun();
#endif
untitled1.cpp
#include "untitled1.hpp"
std::map<int,std::string> m;
std::string s;
std::vector<std::string> v;
void fun()
{
s="my";
m.insert(make_pair(1,"hello"));
m.insert(make_pair(2," world!"));
v.push_back("");
}
main.cpp
#include <string>
#include <iostream>
#include <algorithm>
#include <vector>
#include <fstream>
#include <iterator>
#include "untitled1.hpp"
using namespace std;
vector<string> v1;
int main()
{
fun();
cout<<s<<endl;
cout<<m.find(1)->second<<m.find(2)->second<<endl;
cout<<v.at(0)<<endl;
v1.push_back("ok");
cout<<v1.at(0);
}
可以运行,只是调试还是出现couldn't find method xxx<std::basic_string........
v1,v,m,s都是.
正式程度部分代码:
class BASIC_DATA
{
private:
string m_product,
m_p20_low,
m_p20_std,
m_p24_low,
m_p24_std,
m_lss_low,
m_lss_std,
m_lpe_low,
m_lpe_std,
m_release_std;
public:
void set_product(string s){m_product=s;}
void set_p20_low(string s){m_p20_low=s;}
void set_p20_std(string s){m_p20_std=s;}
void set_p24_low(string s){m_p24_low=s;}
void set_p24_std(string s){m_p24_std=s;}
void set_lss_low(string s){m_lss_low=s;}
void set_lss_std(string s){m_lss_std=s;}
void set_lpe_std(string s){m_lpe_std=s;}
void set_release_std(string s) {m_release_std=s;}
string get_product()const{return m_product;}
string get_p20_low ()const{return m_p20_low;}
string get_p20_std ()const{return m_p20_std;}
string get_p24_low ()const{return m_p24_low;}
string get_p24_std ()const{return m_p24_std;}
string get_lss_low ()const{return m_lss_low;}
string get_lss_std ()const{return m_lss_std;}
string get_release_std() const{return m_release_std;}
};
void ReadBasic(std::string file_name)
{
string read_buf;
vector<string> v;
BASIC_DATA basic_data;
ifstream ist(file_name.c_str());
if(ist)
{
while(getline(ist,read_buf))
{
if(read_buf.length()<10)continue;
boost::to_lower(read_buf);
v.clear();
boost::split(v,read_buf,boost::is_any_of(","),boost::token_compress_off);
basic_data.set_product(v.at(0));
basic_data.set_p20_low(v.at(3));
basic_data.set_p24_low(v.at(4));
basic_data.set_lss_low(v.at(5));
basic_data.set_p20_std(v.at(6));
basic_data.set_p24_std(v.at(7));
basic_data.set_lss_std(v.at(8));
basic_data.set_lpe_std(v.at(9));
m_basic.insert(make_pair(basic_data.get_product(),basic_data));
}
ist.close();
}
cout<<"Can't open "+file_name+"!"<<endl;
}
不能运行!
Michael_Xie
2010-06-14
打赏
举报
回复
你的BASIC_DATA有默认构造函数吗?
ForestDB
2010-06-14
打赏
举报
回复
map<string, int>还报错么?
另外就一个m1,你watch什么?
tang21814
2010-06-13
打赏
举报
回复
不清楚 纯来学习了...
黑娃
2010-06-13
打赏
举报
回复
改成map<int,BASIC_DATA>和map<string,int>试试看到底是string还是BASIC_DATA出错了
arong1234
2010-06-13
打赏
举报
回复
不是什么class都可以放到map的,每个模板参数类型都必须满足一定的约束条件。我估计你没有贴出来的missing的函数是你哪个BASIC_DATA必须提供的[Quote=引用 6 楼 ks_is 的回复:]
引用 4 楼 zhangweiit 的回复:
同时,确定你包含了头文件
#include <map>
该包含的都包含了,BASIC_DATA is a class.
[/Quote]
珍惜生命远离CPP
2010-06-13
打赏
举报
回复
试试在gdb命令窗口
pmap m1
珍惜生命远离CPP
2010-06-13
打赏
举报
回复
这个是gdb对stl支持的问题。
ks_is
2010-06-13
打赏
举报
回复
代码太长,用的是CODEBLOCK最新的.
ks_is
2010-06-13
打赏
举报
回复
[Quote=引用 4 楼 zhangweiit 的回复:]
同时,确定你包含了头文件
#include <map>
[/Quote]
该包含的都包含了,BASIC_DATA is a class.
屎带芬
2010-06-13
打赏
举报
回复
传代码看看嘛,不好判断!
你目前的情况有可能是断点位置不对!
zhangweiit
2010-06-13
打赏
举报
回复
同时,确定你包含了头文件
#include <map>
zhangweiit
2010-06-13
打赏
举报
回复
语法上是没错的,问题出在你这个BASIC_DATA
taodm
2010-06-13
打赏
举报
回复
呃,就别太把调试器当回事了。
低版本,弱功能的调试器是应付不了stl的。
珍惜生命远离CPP
2010-06-13
打赏
举报
回复
包含string和map的头文件没
深入List<
map
<
string
,object>> 集合排序的方法总结
map
<
string
,object>>类型。 原始数据返回结构: 1.需求的来源 如下返回的resourceId需要进行排序,呵呵,能排序,就是比较麻烦点,我找机会参阅资料总结一下吧。 { "total": 15, "
data
": [ { "leaf": ...
C++11~C++20 备忘录
一、新关键字 1、auto 和 decltype 类型推断
string
name = "asdf"; auto iter = name.begin(); decltype(name) username; 返回值类型后置: template auto product(const T& t, const U& u) -> decltype (t* u) { ...
std::unordered_multi
map
10 -> 100 20 -> 200
m1
: 10 -> 100 20 -> 200 30 -> 300
m1
: 20 -> 200 30 -> 300
m1
: m2 : 20 -> 200 30 -> 300 查找 auto Print(const std::
string
&msg, const std::unordered_multi
map
&lst) { std::cout <...
深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
BinaryOperator<T> ——接收两个 T 对象,返回 T 对象 除了上面的这些基本的函数式接口,我们还提供了一些针对原始类型(Primitive type)的特化(Specialization)函数式接口,例如 IntSupplier 和 ...
json11 c++ 用法
// stl
data
struct create json items. std :: list < int > l1 { 1, 2, 3 }; std :: vector < int > l2 { 1, 2, 3 }; std :: set < int > l3 { 1, 2, 3 }; std ::
map
< std :: ...
C++ 语言
64,281
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章