error C4430: 缺少类型说明符 - 假定为 int。 错误如何解决

xg1986519xg 2012-06-28 08:59:47

#if !defined(AFX_DSOUNDIN_H__1F76A838_1BC0_4BD3_8260_62D9F150089B__INCLUDED_)
#define AFX_DSOUNDIN_H__1F76A838_1BC0_4BD3_8260_62D9F150089B__INCLUDED_
#endif
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "windows.h"
#include "mmsystem.h"
#include "mmreg.h"
#include "dsound.h"


//#ifndef _CAPTURE_SOUND_H_
//#define _CAPTURE_SOUND_H_
#define NUM_REC_NOTIFICATIONS 16
#define BUF_SIZE 480;
/*class CAdoFrameHandler {
public:
virtual void AdoFrameData(BYTE* pBuffer, long lBufferSize) = 0 ;
};*/
class CDSoundIn
{
public:
BOOL m_bRecording ; //recording now ? also used by event recv thread
protected:
LPDIRECTSOUNDCAPTURE8 m_pCapDev ; //capture device ptr
LPDIRECTSOUNDCAPTUREBUFFER m_pCapBuf ; //capture loop buffer ptr
LPDIRECTSOUNDNOTIFY8 m_pNotify ; //capture auto-notify event callback handler ptr
GUID m_guidCapDevId ; //capture device id
WAVEFORMATEX m_wfxInput; //input wave format description struct
DSBPOSITIONNOTIFY m_aPosNotify[NUM_REC_NOTIFICATIONS + 1]; //notify flag array
HANDLE m_hNotifyEvent; //notify event
BOOL m_abInputFmtSupported[20];
DWORD m_dwCapBufSize; //capture loop buffer size
DWORD m_dwNextCapOffset;//offset in loop buffer
DWORD m_dwNotifySize; //notify pos when loop buffer need to emit the event
CAdoFrameHandler* m_frame_handler ; // outer frame data dealer ptr
public: // callback func to add enum devices string name
static BOOL CALLBACK enum_dev_proc(LPGUID lpGUID, LPCTSTR lpszDesc,
LPCTSTR lpszDrvName, LPVOID lpContext ) ;
static UINT notify_capture_thd(LPVOID data) ;
protected:
HRESULT InitDirectSound(GUID dev_id = GUID_NULL) ;
HRESULT FreeDirectSound() ;
HRESULT InitNotifications() ;
HRESULT CreateCaptureBuffer(WAVEFORMATEX * wfx) ;
HRESULT StartOrStopRecord(BOOL bStartRec) ;
HRESULT RecordCapturedData() ;
void SetWavFormat(WAVEFORMATEX * wfx) ;
public:
CDSoundIn(void);
~CDSoundIn(void);
BOOL EnumDevices(HWND hList) ;
BOOL Open(void) ;
BOOL Close() ;
void GrabAudioFrames(BOOL bGrabAudioFrames, CAdoFrameHandler* frame_handler) ;
};

1>c:\documents and settings\administrator\桌面\soundprog_5924\soundprog\dsoundin.h(42): error C2143: 语法错误 : 缺少“;”(在“*”的前面)
1>c:\documents and settings\administrator\桌面\soundprog_5924\soundprog\dsoundin.h(42): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\桌面\soundprog_5924\soundprog\dsoundin.h(42): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\桌面\soundprog_5924\soundprog\dsoundin.h(61): error C2061: 语法错误: 标识符“CAdoFrameHandler”
这是一个头文件,每次编译的时候都提示这里有问题,我是新手,很多不懂,请大家指教,另外是因为我的vc2010没链接direct的库的原因吗?
...全文
1570 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xg1986519xg 2012-06-28
  • 打赏
  • 举报
回复
额,诸位,能帮忙说说该怎么解决吗?我真的困扰三四天了
anmychen2001 2012-06-28
  • 打赏
  • 举报
回复
应该是包含的头文件的问题
yyyyy_3 2012-06-28
  • 打赏
  • 举报
回复
dsoundin.h中42/41行有错误,可能是某个类型没有定义.
ouyh12345 2012-06-28
  • 打赏
  • 举报
回复
哪一行啊?
应该是相应的头文件没有包含
Eleven 2012-06-28
  • 打赏
  • 举报
回复
感觉像是头文件没有#include,或者是#include头文件的顺序不对

16,471

社区成员

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

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

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