帮忙看看我的程序。非常感谢

yangvxin1 2006-04-27 11:18:32
你好,我先用winzard建立一个单文档的摸板,我自己建一个myData.h代码如下:
#ifndef _INSIDE_VISUAL_CPP_STUDENT
#define _INSIDE_VISUAL_CPP_STUDENT

class CStudent : public CObject
{
DECLARE_SERIAL(CStudent)
public:
CString m_strName;

int m_nGrade;

CStudent()
{
m_nGrade = 0;
}

CStudent( const char* szName, int nGrade) : m_strName(szName)
{
m_nGrade = nGrade;
}

CStudent(const CStudent& s) : m_strName(s.m_strName)
{
// copy constructor
m_nGrade = s.m_nGrade;
}

const CStudent& operator =(const CStudent& s)
{
if(this==&s)
return *this;
else
{
m_strName = s.m_strName;
m_nGrade = s.m_nGrade;
return *this;
}
}

BOOL operator ==(const CStudent& s) const
{
if ((m_strName == s.m_strName) && (m_nGrade == s.m_nGrade)) {
return TRUE;
}
else {
return FALSE;
}
}

BOOL operator !=(const CStudent& s) const
{
// Let抯 make use of the operator we just defined!
return !(*this == s);
}

virtual void Serialize(CArchive& ar);

#ifdef _DEBUG
void Dump(CDumpContext& dc) const;
#endif // _DEBUG
};

//typedef CTypedPtrList<CObList,CStudent*> CStudentList;
typedef CTypedPtrList<CObList,CSudent *>CStudentList;

#endif // _INSIDE_VISUAL_CPP_STUDENT

然后再建一个MyData.cpp文件
代码如下:
#include "stdafx.h"
#include "CData.h"

IMPLEMENT_SERIAL(CStudent, CObject, 0)

void CStudent::Serialize(CArchive& ar)
{
TRACE("Entering CStudent::Serialize\n");
if(ar.IsStoring())

{
ar << m_strName << m_nGrade;
}
else {
ar >> m_strName >> m_nGrade;
}
}

#ifdef _DEBUG
void CStudent::Dump(CDumpContext& dc) const
{
CObject::Dump(dc);
dc << "m_strName = " << m_strName << "\nm_nGrade = " << m_nGrade;
}
#endif // _DEBUG
始终编译不过。显示错误
e:\vc\cdata.h(66) : error C2143: syntax error : missing ';' before '<'
e:\vc\cdata.h(66) : error C2143: syntax error : missing ';' before '<'
说丢了;号但我明明写了的啊。
谢谢各位.
...全文
111 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
老道_ 2006-04-27
  • 打赏
  • 举报
回复
#include <afxtempl.h>把它添到myData.h中就可以了,我按 SoLike() 说的调试了,可以的
yangvxin1 2006-04-27
  • 打赏
  • 举报
回复
不好意思,pknife(小李飞刀),下次把分给你补上,刚结贴了,谢谢你.
小李匪盗 2006-04-27
  • 打赏
  • 举报
回复
#include <afxtempl.h>

用MFC模板类的时候,要加入此头文件
yangvxin1 2006-04-27
  • 打赏
  • 举报
回复
好了,谢谢SoLike,给分
yangvxin1 2006-04-27
  • 打赏
  • 举报
回复
oh my god.SoLike厉害,佩服佩服.怎么要加那个呢?
yangvxin1 2006-04-27
  • 打赏
  • 举报
回复
就这一行有错误.typedef CTypedPtrList<CObList,CStudent *>CStudentList;上面我拷贝错了。但改正成CStudent 还是有同样的错误。
思危 2006-04-27
  • 打赏
  • 举报
回复

#include <afxtempl.h>

第二行字敲错了
//
//typedef CTypedPtrList<CObList,CStudent*> CStudentList;
typedef CTypedPtrList<CObList,CSudent *>CStudentList;
yangvxin1 2006-04-27
  • 打赏
  • 举报
回复
谢谢你,能不能请你自己建一个singledocument ,然后建立两个文件把代码拷入,再编译一下,可以吗?谢谢。zhuxuan52
老道_ 2006-04-27
  • 打赏
  • 举报
回复
没看出来,又没法帮你调试,你看看别的方面吧
不一定是;因为编译器很笨,很有可能是别的错误

16,471

社区成员

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

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

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