下面是程序内容typedef struct tagCARDSNUMBER
{ public :
int nOrder;
int nNumber;
} CardsNumber,*pCardsNumber;typedef CList<CardsNumber,CardsNumber&> CCardsNumberList;
typedef CList<c1,c1&> pa;
CCardsNumberList fun(pa x)
{
CCardNumberList *p = new CCardNumberList;
{
//do somthing
}
return *p
}
下面是编译错误,郁闷啊。帮帮忙吧。该怎么传递啊
z\utils.h(65) : error C2558: class 'CList<struct tagCARDSNUMBER,struct tagCARDSNUMBER &>' : no copy constructor available
D:\project\Ddz\Method.cpp(289) : error C2440: 'initializing' : cannot convert from 'class CList<struct tagCARDSNUMBER,struct tagCARDSNUMBER &>' to 'class CList<struct tagCARDSNUMBER,struct tagCARDSNUMBER &>'
No copy constructor available for class 'CList<struct tagCARDSNUMBER,struct tagCARDSNUMBER &>'
Error executing cl.exe.Ddz.exe - 2 error(s), 0 warning(s)
{ public :
int nOrder;
int nNumber;
} CardsNumber,*pCardsNumber;typedef CList<CardsNumber,CardsNumber&> CCardsNumberList;
typedef CList<c1,c1&> pa;
CCardsNumberList fun(pa x)
{
CCardNumberList *p = new CCardNumberList;
{
//do somthing
}
return *p
}
下面是编译错误,郁闷啊。帮帮忙吧。该怎么传递啊
z\utils.h(65) : error C2558: class 'CList<struct tagCARDSNUMBER,struct tagCARDSNUMBER &>' : no copy constructor available
D:\project\Ddz\Method.cpp(289) : error C2440: 'initializing' : cannot convert from 'class CList<struct tagCARDSNUMBER,struct tagCARDSNUMBER &>' to 'class CList<struct tagCARDSNUMBER,struct tagCARDSNUMBER &>'
No copy constructor available for class 'CList<struct tagCARDSNUMBER,struct tagCARDSNUMBER &>'
Error executing cl.exe.Ddz.exe - 2 error(s), 0 warning(s)
{
int nOrder;
int nNumber;
} CardsNumber,*pCardsNumber;
试试。
因为你没有重载CardsNumber的&操作符。
typedef CList<c1,c1&> pa;
改为
typedef CList<CardsNumber,CardsNumber> CCardsNumberList;
typedef CList<c1,c1> pa;以上仅作参考,没有打开VC试
不要用引用,改为传值方式,或是用指针看看
改成shilong(星矢の诗龙) 说的,仍然不对啊。
郁闷了