strcut Data
{ int x;int y;} ;
strcut Data p;
CList<Data,Data> Pointlist;
POSITION posp;
Pointlist.AddTail(Data(2,3));
Pointlist.AddTail(Data(4,5));
posp=Pointlist.GetHeadPosition();
for(;posp!= NULL;Pointlist.GetNext(posp))
{......}
这段程序有错误提示
: error C2065: 'strcut' : undeclared identifier
: error C2146: syntax error : missing ';' before identifier 'Data'
: error C2065: 'Data' : undeclared identifier
: error C2143: syntax error : missing ';' before '{'
: error C2146: syntax error : missing ';' before identifier 'Data'
: error C2146: syntax error : missing ';' before identifier 'p'
: error C2065: 'p' : undeclared identifier
: error C2955: 'CList' : use of class template requires template argument list
c:\program files\microsoft visual studio\vc98\mfc\include\afxtempl.h(653) : see declaration of 'CList'
16 个解决方案
#1
strcut 是什么 应该是struct吧
#2
建议这样用:
strcut Data
{
int x;
int y;
}DATA;
DATA p;
strcut Data
{
int x;
int y;
}DATA;
DATA p;
#3
呜呜,struct是写错了,改过来也还是不行呀
#4
Data(2,3)又是什么?
给结构复制不能这么用啊
一种方法是
strcut Data
{
int x;
int y;
}DATA;
DATA p;
p.x=1;
p.y=2;
还有一种是
Data p={1,2};
还有你的这玩意儿又是什么东东?
Pointlist.AddTail(Data(4,5));
我没有用过CList,但是据常理,添加的应该是个指针才对吧
看看MSDN吧
给结构复制不能这么用啊
一种方法是
strcut Data
{
int x;
int y;
}DATA;
DATA p;
p.x=1;
p.y=2;
还有一种是
Data p={1,2};
还有你的这玩意儿又是什么东东?
Pointlist.AddTail(Data(4,5));
我没有用过CList,但是据常理,添加的应该是个指针才对吧
看看MSDN吧
#5
没有仔细看你的程序,看了你的error...很多常识错误
提示一下:
//--单链表声明--//
typedef struct _Data{
int x;
int y;
float z;
_Data *next;
}Data;
Data *point;
Data head;
....
后面你自己搞吧...
还有,看数据结构的书就可以了 VC只是工具而已
提示一下:
//--单链表声明--//
typedef struct _Data{
int x;
int y;
float z;
_Data *next;
}Data;
Data *point;
Data head;
....
后面你自己搞吧...
还有,看数据结构的书就可以了 VC只是工具而已
#6
嗯,写得不是很规范
error里面都很清楚你哪里出错啦
error里面都很清楚你哪里出错啦
#7
恩,在错误中进步。。。前面几位已经说得很清楚了。。。
#8
CList<Data,Data> 不对 的
CList<Data>
CList<Data>
#9
Pointlist.AddTail是Clist类的函数,我看书上都有这么用的,
我的程序是想把我自己已经存在数组里的数据放在链表里,放到链表里,然后再利用Clist类里现成的函数,做一些操作。因为我的数据类型和个数的问题,所以我弄不懂应该在建立链表时,应该怎样做。所以我才编了上面的程序,先看看有两个元素情况。
我的程序是想把我自己已经存在数组里的数据放在链表里,放到链表里,然后再利用Clist类里现成的函数,做一些操作。因为我的数据类型和个数的问题,所以我弄不懂应该在建立链表时,应该怎样做。所以我才编了上面的程序,先看看有两个元素情况。
#10
typedef struct _Data{
int x;
int y;
float z;
_Data *next;
}Data;
Data *point;
Data p;
CList<Data,Data> Pointlist;
只运行到上面这一段,就有下面的错误,说是这种类型不能被作为模板
'struct CLISTDlg::OnButton1::_Data' : types with no linkage cannot be used as template arguments
Pointlist' uses undefined class 'CList<int,int>'
int x;
int y;
float z;
_Data *next;
}Data;
Data *point;
Data p;
CList<Data,Data> Pointlist;
只运行到上面这一段,就有下面的错误,说是这种类型不能被作为模板
'struct CLISTDlg::OnButton1::_Data' : types with no linkage cannot be used as template arguments
Pointlist' uses undefined class 'CList<int,int>'
#11
strcut Data
{
int x;
int y;
} DATA;
CList <DATA,DATA> Pointlist;
POSITION posp;
DATA * p=NULL;
p=new DATA();
p->x=1;p->y=2;
Pointlist.AddTail(p);
p=new DATA();
p->x=4;p->y=5;
Pointlist.AddTail(p);
posp=Pointlist.GetHeadPosition();
while(posp!=NULL)
{
p=Pointlist.GetNext(posp);
TRACE("x=%d,y=%d",p->x,p->y);
delete p;
p=NULL;
}
{
int x;
int y;
} DATA;
CList <DATA,DATA> Pointlist;
POSITION posp;
DATA * p=NULL;
p=new DATA();
p->x=1;p->y=2;
Pointlist.AddTail(p);
p=new DATA();
p->x=4;p->y=5;
Pointlist.AddTail(p);
posp=Pointlist.GetHeadPosition();
while(posp!=NULL)
{
p=Pointlist.GetNext(posp);
TRACE("x=%d,y=%d",p->x,p->y);
delete p;
p=NULL;
}
#12
shenyi0106 谢谢,我还有一个问题,就像上面说的,我想把数组中的数据存进到链表里,应该如何做呢
#13
哦,可以在我计算数据时就直接存到链表里,但是我还是想知道,怎样把数组里的数存进去
#14
这是业务数据问题,你可以在定义结构体是就加进去,如:
strcut Data
{
int x;
int y;
int mydate[100];
} DATA;
以后把数据拷贝到mydate里面就可以了
也可以直接修改CList模版一完成你的需求,如:
CList <void *,void *> Pointlist;
这样,你的CList就可以存储任何数据类型了
strcut Data
{
int x;
int y;
int mydate[100];
} DATA;
以后把数据拷贝到mydate里面就可以了
也可以直接修改CList模版一完成你的需求,如:
CList <void *,void *> Pointlist;
这样,你的CList就可以存储任何数据类型了
#15
CList <Data*,Data*> Pointlist;
#16
程序在while(posp!=NULL)
这里出错,错误提示如下
error C2143: syntax error : missing ';' before '}'
D:\双目视觉\LIST\LISTDlg.cpp(197) : fatal error C1003: error count exceeds 100; stopping compilation
而且是我后面几句删了,还是在}位置出错
谢谢
这里出错,错误提示如下
error C2143: syntax error : missing ';' before '}'
D:\双目视觉\LIST\LISTDlg.cpp(197) : fatal error C1003: error count exceeds 100; stopping compilation
而且是我后面几句删了,还是在}位置出错
谢谢
#1
strcut 是什么 应该是struct吧
#2
建议这样用:
strcut Data
{
int x;
int y;
}DATA;
DATA p;
strcut Data
{
int x;
int y;
}DATA;
DATA p;
#3
呜呜,struct是写错了,改过来也还是不行呀
#4
Data(2,3)又是什么?
给结构复制不能这么用啊
一种方法是
strcut Data
{
int x;
int y;
}DATA;
DATA p;
p.x=1;
p.y=2;
还有一种是
Data p={1,2};
还有你的这玩意儿又是什么东东?
Pointlist.AddTail(Data(4,5));
我没有用过CList,但是据常理,添加的应该是个指针才对吧
看看MSDN吧
给结构复制不能这么用啊
一种方法是
strcut Data
{
int x;
int y;
}DATA;
DATA p;
p.x=1;
p.y=2;
还有一种是
Data p={1,2};
还有你的这玩意儿又是什么东东?
Pointlist.AddTail(Data(4,5));
我没有用过CList,但是据常理,添加的应该是个指针才对吧
看看MSDN吧
#5
没有仔细看你的程序,看了你的error...很多常识错误
提示一下:
//--单链表声明--//
typedef struct _Data{
int x;
int y;
float z;
_Data *next;
}Data;
Data *point;
Data head;
....
后面你自己搞吧...
还有,看数据结构的书就可以了 VC只是工具而已
提示一下:
//--单链表声明--//
typedef struct _Data{
int x;
int y;
float z;
_Data *next;
}Data;
Data *point;
Data head;
....
后面你自己搞吧...
还有,看数据结构的书就可以了 VC只是工具而已
#6
嗯,写得不是很规范
error里面都很清楚你哪里出错啦
error里面都很清楚你哪里出错啦
#7
恩,在错误中进步。。。前面几位已经说得很清楚了。。。
#8
CList<Data,Data> 不对 的
CList<Data>
CList<Data>
#9
Pointlist.AddTail是Clist类的函数,我看书上都有这么用的,
我的程序是想把我自己已经存在数组里的数据放在链表里,放到链表里,然后再利用Clist类里现成的函数,做一些操作。因为我的数据类型和个数的问题,所以我弄不懂应该在建立链表时,应该怎样做。所以我才编了上面的程序,先看看有两个元素情况。
我的程序是想把我自己已经存在数组里的数据放在链表里,放到链表里,然后再利用Clist类里现成的函数,做一些操作。因为我的数据类型和个数的问题,所以我弄不懂应该在建立链表时,应该怎样做。所以我才编了上面的程序,先看看有两个元素情况。
#10
typedef struct _Data{
int x;
int y;
float z;
_Data *next;
}Data;
Data *point;
Data p;
CList<Data,Data> Pointlist;
只运行到上面这一段,就有下面的错误,说是这种类型不能被作为模板
'struct CLISTDlg::OnButton1::_Data' : types with no linkage cannot be used as template arguments
Pointlist' uses undefined class 'CList<int,int>'
int x;
int y;
float z;
_Data *next;
}Data;
Data *point;
Data p;
CList<Data,Data> Pointlist;
只运行到上面这一段,就有下面的错误,说是这种类型不能被作为模板
'struct CLISTDlg::OnButton1::_Data' : types with no linkage cannot be used as template arguments
Pointlist' uses undefined class 'CList<int,int>'
#11
strcut Data
{
int x;
int y;
} DATA;
CList <DATA,DATA> Pointlist;
POSITION posp;
DATA * p=NULL;
p=new DATA();
p->x=1;p->y=2;
Pointlist.AddTail(p);
p=new DATA();
p->x=4;p->y=5;
Pointlist.AddTail(p);
posp=Pointlist.GetHeadPosition();
while(posp!=NULL)
{
p=Pointlist.GetNext(posp);
TRACE("x=%d,y=%d",p->x,p->y);
delete p;
p=NULL;
}
{
int x;
int y;
} DATA;
CList <DATA,DATA> Pointlist;
POSITION posp;
DATA * p=NULL;
p=new DATA();
p->x=1;p->y=2;
Pointlist.AddTail(p);
p=new DATA();
p->x=4;p->y=5;
Pointlist.AddTail(p);
posp=Pointlist.GetHeadPosition();
while(posp!=NULL)
{
p=Pointlist.GetNext(posp);
TRACE("x=%d,y=%d",p->x,p->y);
delete p;
p=NULL;
}
#12
shenyi0106 谢谢,我还有一个问题,就像上面说的,我想把数组中的数据存进到链表里,应该如何做呢
#13
哦,可以在我计算数据时就直接存到链表里,但是我还是想知道,怎样把数组里的数存进去
#14
这是业务数据问题,你可以在定义结构体是就加进去,如:
strcut Data
{
int x;
int y;
int mydate[100];
} DATA;
以后把数据拷贝到mydate里面就可以了
也可以直接修改CList模版一完成你的需求,如:
CList <void *,void *> Pointlist;
这样,你的CList就可以存储任何数据类型了
strcut Data
{
int x;
int y;
int mydate[100];
} DATA;
以后把数据拷贝到mydate里面就可以了
也可以直接修改CList模版一完成你的需求,如:
CList <void *,void *> Pointlist;
这样,你的CList就可以存储任何数据类型了
#15
CList <Data*,Data*> Pointlist;
#16
程序在while(posp!=NULL)
这里出错,错误提示如下
error C2143: syntax error : missing ';' before '}'
D:\双目视觉\LIST\LISTDlg.cpp(197) : fatal error C1003: error count exceeds 100; stopping compilation
而且是我后面几句删了,还是在}位置出错
谢谢
这里出错,错误提示如下
error C2143: syntax error : missing ';' before '}'
D:\双目视觉\LIST\LISTDlg.cpp(197) : fatal error C1003: error count exceeds 100; stopping compilation
而且是我后面几句删了,还是在}位置出错
谢谢