class CDBString : public CString  
{
public:
CDBString();
virtual ~CDBString();
//自己的构造函数
CDBString(int fType,CString fName,int fLen,int CtrID);
public:
void Left();
int fieldType;
CString fieldName;
int fieldLen;
int ControlID;
private:
};CDBString::CDBString(int fType,CString fName,int fLen,int CtrID)
{
CDBString::CDBString();
fieldName=fName;
fieldType=fType;
fieldLen=fLen;
ControlID=CtrID;
} CDBString m_var1(0,"td_user",100,IDC_EDIT1);编译的时候报错:error C2059: syntax error : 'constant'
怎么回事,请教!!!

解决方案 »

  1.   

    CDBString m_var1(0,"td_user",100,IDC_EDIT1);//是IDC_EDIT1的定义有问题?
      

  2.   

    class CDBString : public CString  
    {
    public:
    CDBString()
    {
    }
    virtual ~CDBString()
    {
    }
    //自己的构造函数
    CDBString(int fType,CString fName,int fLen,int CtrID);
    public:
    void Left();
    int fieldType;
    CString fieldName;
    int fieldLen;
    int ControlID;
    private:
    };CDBString::CDBString(int fType,CString fName,int fLen,int CtrID)
    {
    CDBString::CDBString();
    fieldName=fName;
    fieldType=fType;
    fieldLen=fLen;
    ControlID=CtrID;
    }
    有问题吗?我试了好像没问题嘛
      

  3.   

    use debug 
    定位出具体问题所在。
      

  4.   

    我找了,还是找不到。我把IDC_EDIT1换成一个1007还是不行。编译不过,能否调试?
      

  5.   

    包含了
    #include "resource.h"
    了吗?从给出的代码看不到又什么问题。
      

  6.   

    或许没注意哪里加了个中文空格,你的代码我试过,把CDBString()与~CDBString()实现加上编译通过,没问题!
      

  7.   

    我好像找到原因了:我是在一个类的声明中定义m_var1的
    class a
    {
         CDBString m_var1(0,"td_user",100,IDC_EDIT1);
    }
    改在函数的定义里面实现就没有问题了。对不起,一开始我不知道,所以没有说清楚。
      

  8.   

    http://expert.csdn.net/Expert/topic/1983/1983849.xml?temp=.8216669