class CSMapiSampleView : public CEditView
{
protected: // create from serialization only
CSMapiSampleView();
DECLARE_DYNCREATE(CSMapiSampleView)// Attributes
public:
CSMapiSampleDoc* GetDocument(); ULONG (FAR PASCAL*lpfnMAPILogon)(ULONG ulUIParam,
LPSTRlpszProfileName,
LPSTRlpszPassword,
FLAGS flFlags
ULONG ulReserved,
LPLHANDLE lplhSession);
。。
}e:\vc-exercise\通讯\smapisample\smapisampleview.h(28) : error C2629: unexpected 'unsigned long ('
e:\vc-exercise\通讯\smapisample\smapisampleview.h(28) : error C2238: unexpected token(s) preceding ';'
SMapiSampleView.cpp
e:\vc-exercise\通讯\smapisample\smapisampleview.h(28) : error C2629: unexpected 'unsigned long ('
e:\vc-exercise\通讯\smapisample\smapisampleview.h(28) : error C2238: unexpected token(s) preceding ';'
Generating Code...
Error executing cl.exe.
Creating browse info file...SMapiSample.exe - 4 error(s), 0 warning(s)

解决方案 »

  1.   

    public:
    CSMapiSampleDoc (*GetDocument)();
    申明错误。
      

  2.   

    包含一下CSMapiSampleDoc类的头文件就OK了。
      

  3.   

    错误发生在。。ULONG (FAR PASCAL*lpfnMAPILogon)(ULONG ulUIParam,
    LPSTRlpszProfileName,
    LPSTRlpszPassword,
    FLAGS flFlags
    ULONG ulReserved,
    LPLHANDLE lplhSession);
    错误提示:
    unexpected 'unsigned long ('
    unexpected token(s) preceding ';'
    。。
    怎么解决阿
      

  4.   

    对不起,刚才看错了,对不起你申明的形式是对的,错在变量的类型上。FLAGS和LPLHANDLE两个类型有问题。
    你可以试一下,去掉他们两个就没有问题了。
      

  5.   


    FLAGS和LPLHANDLE两个类型没有问题。加头文件#include "mapi.h"