14 个解决方案
#1
你的结构体怎么写的
你如何声明变量的?
你如何声明变量的?
#2
如果你的结构有构造函数,而构造函数又有非缺省的参数列表,就会这样
对于这样的结构,你必须用初始化列表来初始化他
如
struct myStruct{
int a;
myStruct{ int a_}{a=a_;};
};
class MyClass{
myStruct s;
public:
MyClass(int p):s(p){}; //<--注意这样的,C++教材一定说过
};
对于这样的结构,你必须用初始化列表来初始化他
如
struct myStruct{
int a;
myStruct{ int a_}{a=a_;};
};
class MyClass{
myStruct s;
public:
MyClass(int p):s(p){}; //<--注意这样的,C++教材一定说过
};
#3
我的结构体是这样写的:
public:
struct DATAINFO
{
int ID;
int InfoType;
CString InfoID;
};
};
这样声明变量的
DATAINFO *pDataInfo=new DATAINFO;
#4
把你的结构体定义贴出来呀?
有可能是你结构体里面的类成员必须有一个带参数的构造函数。
有可能是你结构体里面的类成员必须有一个带参数的构造函数。
#5
我的结构是声明成类的成员函数了,怎么还有构造函数尼,怎么写构造函数,写在哪儿?
#6
你那样写没问题啊.
#7
不会吧,说没有可用的默认构造函数,那怎么写默认构造函数?
#8
既然是默认的,还写默认,那就不是默认构造函数了
#9
我已经试过,你的写法完全没有问题,可以通过。
看看是不是其它地方的问题引起的。
看看是不是其它地方的问题引起的。
#10
我这样改正之后我之前发生的问题就没了:
public:而你们都说之前的代码没有问题,这是为何?
struct DATAINFO
{
int ID;
int InfoType;
CString InfoID;
DATAINFO()
{
ID=0;
InfoType=0;
InfoID="";
}
};
#11
我将你的结构放在我的程序里面,调试通过。
其实,你的写法是MFC中许多类(如CPtrList等)的常用手法。
结构不需要构造函数的,不明白你怎么会有这样的结果。
其实,你的写法是MFC中许多类(如CPtrList等)的常用手法。
结构不需要构造函数的,不明白你怎么会有这样的结果。
#12
你的程序在警报级别不高的编译器重应该不会报告错误,但是即使你加了这个缺省构造函数,这个结构一样有问题的,最严重的问题是造成指针悬挂,参见:
论指针悬挂
程序中最容易的错误就是语法错误,当然要求你对语法理解真的好。在这个方面,楼主还是多花点时间把C++搞明白。语法错误之后,最难发现的就是诸如上面说的指针悬挂之类的逻辑错误了,这个编译器永远是不会告诉你的。
程序中最容易的错误就是语法错误,当然要求你对语法理解真的好。在这个方面,楼主还是多花点时间把C++搞明白。语法错误之后,最难发现的就是诸如上面说的指针悬挂之类的逻辑错误了,这个编译器永远是不会告诉你的。
#13
指针悬挂?是什么意思?
#14
我看了那篇文章,但是还不太知道上面的问题可以如何解决?
#1
你的结构体怎么写的
你如何声明变量的?
你如何声明变量的?
#2
如果你的结构有构造函数,而构造函数又有非缺省的参数列表,就会这样
对于这样的结构,你必须用初始化列表来初始化他
如
struct myStruct{
int a;
myStruct{ int a_}{a=a_;};
};
class MyClass{
myStruct s;
public:
MyClass(int p):s(p){}; //<--注意这样的,C++教材一定说过
};
对于这样的结构,你必须用初始化列表来初始化他
如
struct myStruct{
int a;
myStruct{ int a_}{a=a_;};
};
class MyClass{
myStruct s;
public:
MyClass(int p):s(p){}; //<--注意这样的,C++教材一定说过
};
#3
我的结构体是这样写的:
public:
struct DATAINFO
{
int ID;
int InfoType;
CString InfoID;
};
};
这样声明变量的
DATAINFO *pDataInfo=new DATAINFO;
#4
把你的结构体定义贴出来呀?
有可能是你结构体里面的类成员必须有一个带参数的构造函数。
有可能是你结构体里面的类成员必须有一个带参数的构造函数。
#5
我的结构是声明成类的成员函数了,怎么还有构造函数尼,怎么写构造函数,写在哪儿?
#6
你那样写没问题啊.
#7
不会吧,说没有可用的默认构造函数,那怎么写默认构造函数?
#8
既然是默认的,还写默认,那就不是默认构造函数了
#9
我已经试过,你的写法完全没有问题,可以通过。
看看是不是其它地方的问题引起的。
看看是不是其它地方的问题引起的。
#10
我这样改正之后我之前发生的问题就没了:
public:而你们都说之前的代码没有问题,这是为何?
struct DATAINFO
{
int ID;
int InfoType;
CString InfoID;
DATAINFO()
{
ID=0;
InfoType=0;
InfoID="";
}
};
#11
我将你的结构放在我的程序里面,调试通过。
其实,你的写法是MFC中许多类(如CPtrList等)的常用手法。
结构不需要构造函数的,不明白你怎么会有这样的结果。
其实,你的写法是MFC中许多类(如CPtrList等)的常用手法。
结构不需要构造函数的,不明白你怎么会有这样的结果。
#12
你的程序在警报级别不高的编译器重应该不会报告错误,但是即使你加了这个缺省构造函数,这个结构一样有问题的,最严重的问题是造成指针悬挂,参见:
论指针悬挂
程序中最容易的错误就是语法错误,当然要求你对语法理解真的好。在这个方面,楼主还是多花点时间把C++搞明白。语法错误之后,最难发现的就是诸如上面说的指针悬挂之类的逻辑错误了,这个编译器永远是不会告诉你的。
程序中最容易的错误就是语法错误,当然要求你对语法理解真的好。在这个方面,楼主还是多花点时间把C++搞明白。语法错误之后,最难发现的就是诸如上面说的指针悬挂之类的逻辑错误了,这个编译器永远是不会告诉你的。
#13
指针悬挂?是什么意思?
#14
我看了那篇文章,但是还不太知道上面的问题可以如何解决?