开发中的几个问题 大家来看看 在线急等~~~

block1956815 2004-10-17 05:43:15
1 定义类成员:string m_strCurLineText;
m_strCurLineText.clear();
错误提示: error C2039: 'clear' : is not a member of 'basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'

2 有什么好的办法把 char m_cBuffer[1024] ;的内容清空?当然不用for一个一个的付值了。

3
QueryWord::QueryWord(string& strWord)
{
m_strWord = strWord;
pos = -1;
#ifdef _DEBUG
cout<<"QueryWord construct"<<endl;
#endif
}
错误提示:
error C2512: 'LineText' : no appropriate default constructor available 什么意思?
我定义的构造函数: QueryWord(string&); 不应该有问题啊?
三个问题 一个问题10分了。


...全文
161 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
typedef basic_string<char, char_traits<char>, allocator<char> >
string;
NewKUN 2004-10-17
  • 打赏
  • 举报
回复
其实我有这个问题想问的:

MSDN2003中的baseic_string 和 string有什么关系? 很多basic_string中的成员函数string中都有啊 是不是用string的地方都可以用basic_string代替呢?

第二个问题 如楼上说的用:memset(m_cBuffer, 0x00, sizeof(m_cBuffer));应该可以吧?
第三个问题:看具体情况! default construct并不是必须的!

btw: 有的人对具体情况不是很清楚 就不要随便说!bs楼上有的人的说~~~ -_-b.
其他要看楼主的具体情况 我不清楚,所以我不多说了!
block1956815 2004-10-17
  • 打赏
  • 举报
回复
多谢!
pc2s 2004-10-17
  • 打赏
  • 举报
回复
1 定义类成员:string m_strCurLineText;
m_strCurLineText.clear();

string没有clear,可以用m_strCurLineText.erase();

3 应该是你的定义和声明不同吧。
pc2s 2004-10-17
  • 打赏
  • 举报
回复
2 有什么好的办法把 char m_cBuffer[1024] ;的内容清空?当然不用for一个一个的付值了。

memset(m_cBuffer, 0x00, sizeof(m_cBuffer));
不行吗?
pier2008 2004-10-17
  • 打赏
  • 举报
回复
首先想问一下,你是刚学C++吗?不要告诉我是你是开发人员。第一个问题,很明白不是类的成员函数;第二个问题,可以用指针来做,char *str,p=new char[1024],delete [] str;第三个问,你没有定义默的构造函数,当然你的对象没实参时调用默认的构造函数,如果你的对象有参时不会出现这种情况,在实际开发中一定会定义默认的构造函数啦!!!!!
block1956815 2004-10-17
  • 打赏
  • 举报
回复
没有解决!
malligator 2004-10-17
  • 打赏
  • 举报
回复
第三个问题:
是不是你的类实例化时用到了其他类型的实参,而系统找不到相应的类型转换方法。
block1956815 2004-10-17
  • 打赏
  • 举报
回复
1 我在MSDN 2003中查到basic_string Class中有这个成员函数
那么baseic_string 和 string有什么关系? 很多basic_string中的成员函数string中都有啊。

3
QueryWord::QueryWord(string& strWord)
{
m_strWord = strWord;
pos = -1;
#ifdef _DEBUG
cout<<"QueryWord construct"<<endl;
#endif
}
QueryWord(string&);这个就是构造函数的定义。
没有用到default constructor啊?
block1956815 2004-10-17
  • 打赏
  • 举报
回复
第二个问题对的 多谢!
block1956815 2004-10-17
  • 打赏
  • 举报
回复
QueryWord::QueryWord(string& strWord)
{
m_strWord = strWord;
pos = -1;
#ifdef _DEBUG
cout<<"QueryWord construct"<<endl;
#endif
}
QueryWord(string&);这个就是构造函数的定义。
没有用到default constructor啊?
zhangyong469 2004-10-17
  • 打赏
  • 举报
回复
2 有什么好的办法把 char m_cBuffer[1024] ;的内容清空?当然不用for一个一个的付值了。


0m_cBuffer[0] = '\0';
block1956815 2004-10-17
  • 打赏
  • 举报
回复
1 我在MSDN 2003中查到basic_string Class中有这个成员函数
那么baseic_string 和 string有什么关系? 很多basic_string中的成员函数string中都有啊。

2 erase()?在哪里查 ?可以清空数组就行!在msdn2003中我查不到。

3 QueryWord(string&);这个就是构造函数的定义。
Unknowm 2004-10-17
  • 打赏
  • 举报
回复
没有默认的构造函数。你定义了QueryWord(string&); ,因此编译器没有生成QueryWord(void),除非你显示定义
zhangyong469 2004-10-17
  • 打赏
  • 举报
回复
0m_cBuffer[0] = '\0';
insulator 2004-10-17
  • 打赏
  • 举报
回复
2 erase()合不合乎你的要求
insulator 2004-10-17
  • 打赏
  • 举报
回复
3、你函数的参数有问题
没有这样的构造函数QueryWord::QueryWord(string&),你看一下构造函数的定义或说明
insulator 2004-10-17
  • 打赏
  • 举报
回复
1、clear()不是string的成员函数
block1956815 2004-10-17
  • 打赏
  • 举报
回复
up! 大家帮忙看看!

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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