CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

严格遵循C++语法,却仍然报错

楼主lizhanqing123(晴晴)2006-03-18 10:51:10 在 VC/MFC / 基础类 提问

我在视图类的头文件类的成员中加入内嵌另一个类的一个对象CWave   m_wave.这个CWave类是在另一个文件中定义过的,可以编译器报错,说d:\program   files\microsoft   visual   studio\myprojects\wave\waveview.h(16)   :   error   C2146:   syntax   error   :   missing   ';'   before   identifier   'm_wave'  
  怎么回事呢?  
  #include   "Wave.h"  
  class   CWaveView   :   public   CView  
  {  
  private:  
  CWave   m_wave;  
  protected:   //   create   from   serialization   only  
   
  CWaveView();  
   
  DECLARE_DYNCREATE(CWaveView)  
   
  //   Attributes  
  public:  
  CWaveDoc*   GetDocument();  
   
  .....  
  class   CWave  
  {  
   
  public:  
  CWave();  
  CWave(   const   char   *   );  
  CWave(   const   char   *,   HINSTANCE   );  
  CWave(   int,   HINSTANCE   );  
  ~CWave();  
   
  int   DeviceC  
   
  问题点数:10、回复次数:6Top

1 楼waitlife()回复于 2006-03-18 11:07:25 得分 0

你定义'm_wave'对象时可能忘记加';'了,声明对象出错Top

2 楼lizhanqing123(晴晴)回复于 2006-03-18 11:23:11 得分 0

;号我当然加了,我给出的代码不是写出来了吗?是我从程序中复制出来的。Top

3 楼huguyue6670(美丽海洋)回复于 2006-03-18 11:36:39 得分 0

你的错误下一个应该是c2051吗?你把所加的头文件位置换一下,别再“StdAfx.h”的上边,要是实在不行的话,我劝楼主重新做一次就行了。我遇到的这个问题就是这么解决的。Top

4 楼Mackz(在相互)回复于 2006-03-18 13:32:27 得分 0

可不要说“严格遵循C++语法”  
   
  在使用类之前,要先声明,而且不能循环包含,因此是这样声明的:  
   
  //#include   "Wave.h"   不要循环包含  
  class   CWave;  
   
  class   CWaveView   :   public   CView  
  {  
  private:  
  CWave   m_wave;  
  protected:   //   create   from   serialization   only  
   
  CWaveView();  
  Top

5 楼Atomictry(天影)回复于 2006-03-18 13:46:49 得分 0

你确定你的Wave.h文件和WaveView.h放在同一个目录下?Top

6 楼jiaobo19830121(傻蛋)回复于 2006-03-18 14:26:43 得分 0

你在定义一个类的时候最好加入  
  #if   !defined(AFX_GIDVIEW_H__54AE0900_558A_4841_BB9F_3E03222D6CAF__INCLUDED_)  
  #define   AFX_GIDVIEW_H__54AE0900_558A_4841_BB9F_3E03222D6CAF__INCLUDED_  
   
  #if   _MSC_VER   >   1000  
  #pragma   once  
  #endif   //   _MSC_VER   >   1000  
  这样的宏定义语句   防止在调用的时候多次定义Top

相关问题

  • C#语法String
  • 求C#语法
  • <<<<>>>>为什么用DEV C++编译下面的文件会报错(我的语法和拼写应该没问题啊)?
  • C++ 语法请教
  • c语法问题
  • c++ 语法问题
  • c#语法问题
  • c#语法问题
  • 关于数据窗口的sql语法。老是报错
  • 初学者!练习JAVA语法又一个程序报错!

关键词

  • c++
  • 文件
  • cwave
  • wave
  • cwaveview
  • 定义
  • 对象
  • included

得分解答快速导航

  • 帖主:lizhanqing123

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo