vc基础问题,十万火急搬救兵?

qiujin 2001-04-08 05:04:00
我在编程中,在CDocument类中定义了以下数据:
Carray<CDrive,CDrive> DocDrive;(注:CDrive为我自定义的一个类,继承于CObject)。编译时出现以下一些错误:
c:\my documents\mydata\first\firstdoc.h(28) : error C2143: syntax error : missing ';' before '<'
c:\my documents\mydata\first\firstdoc.h(28) : error C2501: 'CArray' : missing storage-class or type specifiers
c:\my documents\mydata\first\firstdoc.h(28) : error C2059: syntax error : '<'
c:\my documents\mydata\first\firstdoc.h(28) : error C2238: unexpected token(s) preceding ';'
请高手指教,万分感激!
...全文
1871 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
hycfly 2001-04-15
  • 打赏
  • 举报
回复
1在stadafx.h中加上
#include"afxtempl.h"
2在Drive.h的最下面加一句
typedef Carray<CDrive,CDrive> DocDrive;
3在你的文档类*.cpp中加上
#include"Drive.h"
4在你的文档类*.h中加上
DocDrive yourDoc;
stoneyrh 2001-04-14
  • 打赏
  • 举报
回复
对对对,我也遇到了同样的问题,qiujin解决了请告诉我一声。谢谢。
crackx 2001-04-11
  • 打赏
  • 举报
回复
hehe
baojiong 2001-04-11
  • 打赏
  • 举报
回复
把这句话
typedef Carray<CDrive,CDrive> DocDrive"
放到Drive.h的最下面
在***Doc.h
CMyDrive DocDrive;
imhexi 2001-04-11
  • 打赏
  • 举报
回复
感觉比较搞笑,好像周星驰的片子哟!
popocb 2001-04-10
  • 打赏
  • 举报
回复
呵呵!建议加强阅读错误信息的能力:)
lgs 2001-04-09
  • 打赏
  • 举报
回复
建议你温习以下C++基础。
zhourongbiao 2001-04-08
  • 打赏
  • 举报
回复
#include <afxtempl.h>
ggyy 2001-04-08
  • 打赏
  • 举报
回复
CFirstDoc
的头文件改没有改呀?
qiujin 2001-04-08
  • 打赏
  • 举报
回复
ggyy:照你所说修改,出现如下错误:C:\My Documents\mydata\First\FirstDoc.cpp(101) : error C2511: 'AddObject' : overloaded member function 'void (class CDrive)' not found in 'CFirstDoc'
c:\my documents\mydata\first\firstdoc.h(22) : see declaration of 'CFirstDoc'
望指教!
ggyy 2001-04-08
  • 打赏
  • 举报
回复
void CFirstDoc::AddObject(CDrive g)//这里改了吗?不是引用,不加&!!!!!
{SetModifiedFlag(true);
DocDrive.Add(g);}
qiujin 2001-04-08
  • 打赏
  • 举报
回复
ggyy:我把“add"改为"Add"后,出现如下编译错误:C:\My Documents\mydata\First\FirstDoc.cpp(102) : error C2664: 'Add' : cannot convert parameter 1 from 'class CDrive' to 'class CDrive'
No copy constructor available for class 'CDrive'
望指教!
ggyy 2001-04-08
  • 打赏
  • 举报
回复
void CFirstDoc::AddObject(CDrive g)
{SetModifiedFlag(true);
DocDrive.add(g);}//是Add(),不是add()!!!!!!!
qiujin 2001-04-08
  • 打赏
  • 举报
回复
感谢ggyy,我把头文件“afxtempl.h”加上后,在我定义的函数中,此函数如下:void CFirstDoc::AddObject(CDrive& g)
{SetModifiedFlag(true);
DocDrive.add(g);}
出现如下编译错误:
C:\My Documents\mydata\First\FirstDoc.cpp(102) : error C2039: 'add' : is not a member of 'CArray<class CDrive,class CDrive>'
望指教?
ggyy 2001-04-08
  • 打赏
  • 举报
回复
是不是把CArray写成了Carray了?
我的能编译呀!!!
ggyy 2001-04-08
  • 打赏
  • 举报
回复
CArray<CDrive,CDrive> DocDrive;
加上头文件:afxtempl.h
????


ggyy 2001-04-08
  • 打赏
  • 举报
回复
这个东西在使用前应该用SetSize指定大小和分配内存
加上头文件:afxtempl.h
是什么错呀?
qiujin 2001-04-08
  • 打赏
  • 举报
回复
ggyy:我编译了一下,还是不行。
ggyy 2001-04-08
  • 打赏
  • 举报
回复
Carray<CDrive,&CDrive> DocDrive;
可不可以?

16,551

社区成员

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

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

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