首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

error C4430: 缺少部类说明符

2012-12-19 
error C4430: 缺少类型说明符class CPortScanDlg : public CDialog{DECLARE_DYNAMIC(CPortScanDlg)public:

error C4430: 缺少类型说明符
class CPortScanDlg : public CDialog
{
DECLARE_DYNAMIC(CPortScanDlg)

public:
CPortScanDlg(CWnd* pParent = NULL);   // 标准构造函数
virtual ~CPortScanDlg();

// 对话框数据
enum { IDD = IDD_PORTSCAN_DLG };

protected:

//Adds a new item to m_cResult
AddItem( int nItem,int nSubItem,LPCTSTR strItem,int nImageIndex = -1);// 错误位置  error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
BOOL TestConnection(CString IP, UINT nPort);
virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

afx_msg void OnBnClickedStart();
afx_msg void OnBnClickedStop();
afx_msg void OnBnClickedRadioone();
afx_msg void OnBnClickedRadiomany();
DECLARE_MESSAGE_MAP()
public:
CPtrList* m_pStatusList;//Our link list. The nodes are in type DATA*. See the above structure
CIPAddressCtrl m_ctrlIPAddr;
CEdit m_ctrlOne;
CEdit m_ctrlFrom;
CEdit m_ctrlTo;
CEdit m_ctrlTime;
CListCtrl m_ctrlListResult;
CProgressCtrl m_ctrlProgress;
bool m_nPortOne;
UINT m_minPort,m_maxPort; //Lower bound and upper bound of scanning ports range
UINT m_nCounter;
//Maximum attempts to connect a socket
UINT m_nMaxAttempts;
virtual BOOL OnInitDialog();
CButton m_ctrlBtnStart;
CButton m_ctrlBtnStop;
CStatic m_ctrlStatus;
};

请问各位怎么解决这问题呀?
[解决办法]
找到出事的语句,看看变量的类型是不是有问题...

[解决办法]
AddItem这个函数没有返回值,要显示声明返回值
比如 int AddItem(...)
[解决办法]
AddItem( int nItem,int nSubItem,LPCTSTR strItem,int nImageIndex = -1);// 错误位
????????
返回类型
[解决办法]

1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(1463) : error C2371: “FontPtr”: 重定义;不同的基类型
1>        c:\program files\microsoft visual studio 8\vc\include\comdef.h(312) : 参见“FontPtr”的声明
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(1541) : error C2786: “BOOL (__stdcall *)(HDC,int,int,int,int)”: __uuidof 的操作数无效
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(1541) : error C2923: “_com_IIID”:“Rectangle”不是参数“_Interface”的有效 模板 类型变量
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\wingdi.h(3514) : 参见“Rectangle”的声明
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(1541) : error C3203: “_com_IIID”: 未专用化的类 模板 不能用作 模板 变量,该变量属于 模板 参数“_IIID”,应为 real 类型
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(1545) : error C2786: “BOOL (__stdcall *)(HDC,int,int,int,int,int,int,int,int)”: __uuidof 的操作数无效


1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(1545) : error C2923: “_com_IIID”:“Arc”不是参数“_Interface”的有效 模板 类型变量
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\wingdi.h(2765) : 参见“Arc”的声明
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(1545) : error C3203: “_com_IIID”: 未专用化的类 模板 不能用作 模板 变量,该变量属于 模板 参数“_IIID”,应为 real 类型
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(1552) : error C2371: “PicturePtr”: 重定义;不同的基类型
1>        c:\program files\microsoft visual studio 8\vc\include\comdef.h(326) : 参见“PicturePtr”的声明
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2034) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2076) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2178) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2197) : error C2146: 语法错误 : 缺少“;”(在标识符“GetRGB”的前面)
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2197) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2197) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2197) : warning C4183: “GetRGB”: 缺少返回类型;假定为返回“int”的成员函数
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2199) : error C2061: 语法错误 : 标识符“MsoRGBType”
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2218) : error C2061: 语法错误 : 标识符“MsoRGBType”
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2220) : error C2061: 语法错误 : 标识符“MsoRGBType”
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2239) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2369) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2408) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2491) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2541) : error C2146: 语法错误 : 缺少“;”(在标识符“GetTransparencyColor”的前面)
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2541) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2541) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int


1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2541) : warning C4183: “GetTransparencyColor”: 缺少返回类型;假定为返回“int”的成员函数
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2543) : error C2061: 语法错误 : 标识符“MsoRGBType”
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2587) : error C2061: 语法错误 : 标识符“MsoRGBType”
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2589) : error C2061: 语法错误 : 标识符“MsoRGBType”
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2598) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2719) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(2837) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3098) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3132) : error C2146: 语法错误 : 缺少“;”(在标识符“GradientStops”的前面)
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3132) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3132) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3190) : error C2146: 语法错误 : 缺少“;”(在标识符“GetGradientStops”的前面)
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3190) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3190) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3190) : warning C4183: “GetGradientStops”: 缺少返回类型;假定为返回“int”的成员函数
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3384) : error C2504: “_IMsoDispObj”: 未定义基类
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3404) : error C2146: 语法错误 : 缺少“;”(在标识符“TextRange”的前面)
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3404) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3404) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3406) : error C2146: 语法错误 : 缺少“;”(在标识符“Column”的前面)
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3406) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int


1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3406) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3408) : error C2146: 语法错误 : 缺少“;”(在标识符“Ruler”的前面)
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3408) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3408) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3453) : error C2146: 语法错误 : 缺少“;”(在标识符“GetTextRange”的前面)
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3453) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3453) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3453) : warning C4183: “GetTextRange”: 缺少返回类型;假定为返回“int”的成员函数
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3454) : error C2146: 语法错误 : 缺少“;”(在标识符“GetColumn”的前面)
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3454) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3454) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\specture projects code\second try 090629\withexcel\withexcel\debug\excel.tlh(3454) : warning C4183: “GetColumn”: 缺少返回类型;假定为返回“int”的成员函数

这么一大堆的错误是怎么回事呢?
求教啊~
[解决办法]
你函数 没有返回值 C 里面是默认返回int, C++ 比较严谨 必须要写返回值
[解决办法]
申明函数时候需要指定返回类型,如果你不需要返回数据则申明为void ***()

VC6可能可以通过,但是08下默认是绝对不行的。
[解决办法]
修改工程属性 或文件属性c/c - advanced - compile as 为 Compile as C Code (/TC)
[解决办法]
果然厉害,学习了
[解决办法]
我的编译环境VS2005,果断加返回值类型就行了,受教了!
[解决办法]
解决了没?

热点排行