| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 912 人关注过本帖
标题:[求助]程序纠错问题
只看楼主 加入收藏
xzx1002002
Rank: 2
等 级:论坛游民
帖 子:68
专家分:27
注 册:2006-3-7
收藏
 问题点数:0 回复次数:9 
[求助]程序纠错问题
我有一个程序编译的时候出现错误:
no appropriate default constructor available

提示指到下面一段程序:
CMpegDlg::CMpegDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMpegDlg::IDD, pParent)
-> {
//{{AFX_DATA_INIT(CMpegDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent
//estroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
不知道谁能帮忙解决一下,谢谢了。
搜索更多相关主题的帖子: 纠错 
2006-05-17 13:31
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
表面上看不出什么问题,错误信息能不能详细点?no appropriate default constructor available这个错误信息之前通常还会有一些信息,你确定编译的时候错误指向的行就是{那一行吗?

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-05-17 13:49
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 

对,不应该是这行出no appropriate default constructor available,就算真的no appropriate default constructor 出错也应指向变量定义的那一行。


http://myajax95./
2006-05-17 14:22
xzx1002002
Rank: 2
等 级:论坛游民
帖 子:68
专家分:27
注 册:2006-3-7
收藏
得分:0 
error C2512: 'CVolumeCtrl' : no appropriate default constructor available
恩,在错误之前还有一点。
CVolumeCtrl是我定义的一个类,在我定义了变量CVolumeCtrl m_VolumeCtrl 出现了上面的错误。提示指的是那一行。
2006-05-18 14:17
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
你的CVolumnCtrl肯定是没有default contructor.
假设你的class 士这么写的。

class CVolumnCtrl
{
public:
CVolumnCtrl(int a, int b)
};
那么程序就会报错了default contructor。
你或者加以个干干净净得default constructor,CVolumnCtrl()
或者把这个conrol 改成default CVolumnCtrl(int a=0, int b=0)
或者在这个CVolumnCtrl的contain的constructor里面initialze他

class classA
{
CVolumnCtrl m_volumnctrl;
}

classA:classA()
: m_volumnctrl(0, 0)
{
}

[此贴子已经被作者于2006-5-18 14:56:46编辑过]


http://myajax95./
2006-05-18 14:49
xzx1002002
Rank: 2
等 级:论坛游民
帖 子:68
专家分:27
注 册:2006-3-7
收藏
得分:0 

哦,谢谢了。我回去试试。

2006-05-18 22:37
xzx1002002
Rank: 2
等 级:论坛游民
帖 子:68
专家分:27
注 册:2006-3-7
收藏
得分:0 
我有一个MFC程序编译的时候出现错误:
error C2512: 'CVolumeCtrl' : no appropriate default constructor available

其中CVolumeCtrl是我定义的一个类,定义如下:
class CVolumeCtrl
{
public:
CVolumeCtrl(CWnd *pParent);
virtual ~CVolumeCtrl();
BOOL GetVolume(DWORD &dwVol);
BOOL SetVolume(DWORD dwVol);
BOOL amdGetVolumeControl();
BOOL amdInitialize();
BOOL amdUnInitialize();

private:
CWnd *m_hParent;
UINT m_nNumMixers;
DWORD m_dwMinimum,m_dwMaximum;
DWORD m_dwVolumeControlID;
CString m_strDstLineName, m_strVolumeControlName;
HMIXER m_hMixer;
MIXERCAPS m_mxcaps;
};

在我定义了变量CVolumeCtrl m_VolumeCtrl 出现了上面的错误,
提示指到下面一段程序:
CMpegDlg::CMpegDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMpegDlg::IDD, pParent)
-> {
//{{AFX_DATA_INIT(CMpegDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent
//estroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
不知道谁能帮忙解决一下,谢谢了。
2006-05-22 10:42
xzx1002002
Rank: 2
等 级:论坛游民
帖 子:68
专家分:27
注 册:2006-3-7
收藏
得分:0 
我有一个MFC程序编译的时候出现错误:
error C2512: 'CVolumeCtrl' : no appropriate default constructor available

其中CVolumeCtrl是我定义的一个类,定义如下:
class CVolumeCtrl
{
public:
CVolumeCtrl(CWnd *pParent);
virtual ~CVolumeCtrl();
BOOL GetVolume(DWORD &dwVol);
BOOL SetVolume(DWORD dwVol);
BOOL amdGetVolumeControl();
BOOL amdInitialize();
BOOL amdUnInitialize();

private:
CWnd *m_hParent;
UINT m_nNumMixers;
DWORD m_dwMinimum,m_dwMaximum;
DWORD m_dwVolumeControlID;
CString m_strDstLineName, m_strVolumeControlName;
HMIXER m_hMixer;
MIXERCAPS m_mxcaps;
};

在我定义了变量CVolumeCtrl m_VolumeCtrl 出现了上面的错误,
提示指到下面一段程序:
CMpegDlg::CMpegDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMpegDlg::IDD, pParent)
-> {
//{{AFX_DATA_INIT(CMpegDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent
//estroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
不知道谁能帮忙解决一下,谢谢了。
2006-05-22 10:46
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
CMpegDlg::CMpegDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMpegDlg::IDD, pParent)
, m_VolumeCtrl (this)
{
//{{AFX_DATA_INIT(CMpegDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent
//estroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

http://myajax95./
2006-05-22 11:22
xzx1002002
Rank: 2
等 级:论坛游民
帖 子:68
专家分:27
注 册:2006-3-7
收藏
得分:0 
这样啊,谢谢斑竹了。
2006-05-22 23:19
快速回复:[求助]程序纠错问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026151 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved