给为大虾救救我!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

fatcatman 2001-08-02 07:34:06
我用:
CStringArray m_arName;
m_arName.SetSize(10,5);
编译时出现下列出错信息:
error C2662: 'SetSize' : cannot convert 'this' pointer from 'const class CStringArray' to 'class CStringArray &'
这是为什么?请各位大虾指点,谢谢。
...全文
154 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
五行擒拿术 2001-08-02
  • 打赏
  • 举报
回复
至于具体是多少,看自己定了
五行擒拿术 2001-08-02
  • 打赏
  • 举报
回复
第一个初始化的数组的大小,
第二个是如果数组不够长了,比如你SetSize(10,5),现在要插入第11个数据的时候,数组并不是增长1,实际上是增长成了15个
fatcatman 2001-08-02
  • 打赏
  • 举报
回复
请问SetSize中的两个值具体应为多少?
fatcatman 2001-08-02
  • 打赏
  • 举报
回复
我试一试。
五行擒拿术 2001-08-02
  • 打赏
  • 举报
回复
SetSize是分配存储单元,象你写的
CString CDVTestDoc::GetName(int nIndex) const
{
m_arName.SetSize(10,5);
ASSERT(nIndex<m_arName.GetSize());
return m_arName[nIndex];
}
就很有不是的地方,因为你每次GetName都要SetSize一下。。
你可以吧SetSize放在OnInitDialog等初始化函数,或构造函数里。
CString CDVTestDoc::GetName(int nIndex) const
{
ASSERT(nIndex<m_arName.GetSize());
return m_arName[nIndex];
}
改成这样的函数就好点。
至于Assert的错误,应该是你代码中有什么问题。。
fatcatman 2001-08-02
  • 打赏
  • 举报
回复
可以运行了,但是一会儿就出现了一个Debug Asserticon Failed!对话框,就退出了!
fatcatman 2001-08-02
  • 打赏
  • 举报
回复
谢了,如果成功我就加分。
五行擒拿术 2001-08-02
  • 打赏
  • 举报
回复
就是你的const的定义,
返回的是一个const CString ,
单是m_arName[]是CString ,
去掉const就可以了
fatcatman 2001-08-02
  • 打赏
  • 举报
回复
我有一个定义:
CString GetName(int nIndex) const;
m_arName.SetSize(10,5)
就放在:
CString CDVTestDoc::GetName(int nIndex) const
{
m_arName.SetSize(10,5);
ASSERT(nIndex<m_arName.GetSize());
return m_arName[nIndex];
}
五行擒拿术 2001-08-02
  • 打赏
  • 举报
回复
我看了,
没有错!
fatcatman 2001-08-02
  • 打赏
  • 举报
回复
其它地方就是:m_arName.SetSize(10,5)
m_leaner 2001-08-02
  • 打赏
  • 举报
回复
private:
CStringArray m_arName[];
NothingRemained 2001-08-02
  • 打赏
  • 举报
回复
是其它地方错了,这儿肯定没错的
fatcatman 2001-08-02
  • 打赏
  • 举报
回复
private:
CStringArray m_arName;
五行擒拿术 2001-08-02
  • 打赏
  • 举报
回复
贴出来,
fatcatman 2001-08-02
  • 打赏
  • 举报
回复
对的呀?
五行擒拿术 2001-08-02
  • 打赏
  • 举报
回复
看看你的声明对吗?

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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