struct Station
{
int ID; //车站ID
POINT position; //车站位置
CRect rect; //车站大小
CRect bigrect; //车站放大大小
bool select; //被鼠标选中
CString name; //站名
};
在route.h文件中将结构体Station重命名为MetroStation
typedef struct Station MetroStation;
在类
CRoute中定义了一个静态的MetroStation类型的指针变量
static MetroStation* m_pStation现在我想讲变量指向一个长度为21的MetroStation类型的数组,即效果类似:int a[10]。
这样一来如何对m_pStation数组初始化呢
14 个解决方案
#1
static MetroStation* m_pStation = new MetroStation[20];
static MetroStation m_pStation[20];
?
static MetroStation m_pStation[20];
?
#2
请问楼主想干什么?
#3
那样不行的,第一个static MetroStation* m_pStation = new MetroStation[20];的话弹出错误
error C2040: 'public: static struct Station * CRoute::m_pStation' : 'struct Station' differs in levels of indirection from 'struct Station *'
第二个static MetroStation m_pStation[20]就没初始化啊
static类型的变量都是在cpp文件中函数外边实现其初始化的,怎么弄呢?
#4
我先在其他类中调用这个类的m_pStation变量
#5
初始化的方法就是在类外直接=NULL 在需要赋具体值时在赋值
#6
sorry,我想在其他类中调用这个类的m_pStation变量
#7
不行的,弹出错误对话框[img=http://hi.csdn.net/space-3611106-do-album-picid-884999-goto-down.html][/img]
#8
typedef struct _Station
{
int ID; //车站ID
POINT position; //车站位置
CRect rect; //车站大小
CRect bigrect; //车站放大大小
bool select; //被鼠标选中
CString name; //站名
//默认的初始化
_Station()
{
ID = -1;
position.x = position.y = 0;
rect.SetRectEmpty();
bigrect.SetRectEmpty();
select = false;
name.Empty();
}
//带参数的初始化
_Station(int nID, POINT Pos, LPRECT pRect, LPRECT pBigRect, bool bSel, LPCTSTR szName)
{
ID = nID;
position = Pos;
rect = pRect;
bigrect = pBigRect;
select = bSel;
name = szName;
}
}Station;
static Station mStation[10]=
{
Station(1, CPoint(10,20), CRect(0,0,10,10), CRect(0,0,100,100), false, _T("1")),
//后续的按默认的初始化
};
#9
做什么?
#10
MetroStation*
CRoute::m_pStation = new MetroStation[20];
CRoute::m_pStation 自己解释.
如果不是,那是什么?
CRoute::m_pStation 自己解释.
如果不是,那是什么?
#11
CRoute对话框类用来绘制一个平面火车站点图。在View视图中想通过扑捉用户的站点选择,来加载响应站点的信息。达到如果我在平面图上选择了北京站,则在view视图类中则对北京站做一些处理
#12
报错了,提示no overloaded function takes 6 parameters
#13
贴代码
#14
非常感谢,已经完成了,是我我看错了
#1
static MetroStation* m_pStation = new MetroStation[20];
static MetroStation m_pStation[20];
?
static MetroStation m_pStation[20];
?
#2
请问楼主想干什么?
#3
那样不行的,第一个static MetroStation* m_pStation = new MetroStation[20];的话弹出错误
error C2040: 'public: static struct Station * CRoute::m_pStation' : 'struct Station' differs in levels of indirection from 'struct Station *'
第二个static MetroStation m_pStation[20]就没初始化啊
static类型的变量都是在cpp文件中函数外边实现其初始化的,怎么弄呢?
#4
我先在其他类中调用这个类的m_pStation变量
#5
初始化的方法就是在类外直接=NULL 在需要赋具体值时在赋值
#6
sorry,我想在其他类中调用这个类的m_pStation变量
#7
不行的,弹出错误对话框[img=http://hi.csdn.net/space-3611106-do-album-picid-884999-goto-down.html][/img]
#8
typedef struct _Station
{
int ID; //车站ID
POINT position; //车站位置
CRect rect; //车站大小
CRect bigrect; //车站放大大小
bool select; //被鼠标选中
CString name; //站名
//默认的初始化
_Station()
{
ID = -1;
position.x = position.y = 0;
rect.SetRectEmpty();
bigrect.SetRectEmpty();
select = false;
name.Empty();
}
//带参数的初始化
_Station(int nID, POINT Pos, LPRECT pRect, LPRECT pBigRect, bool bSel, LPCTSTR szName)
{
ID = nID;
position = Pos;
rect = pRect;
bigrect = pBigRect;
select = bSel;
name = szName;
}
}Station;
static Station mStation[10]=
{
Station(1, CPoint(10,20), CRect(0,0,10,10), CRect(0,0,100,100), false, _T("1")),
//后续的按默认的初始化
};
#9
做什么?
#10
MetroStation*
CRoute::m_pStation = new MetroStation[20];
CRoute::m_pStation 自己解释.
如果不是,那是什么?
CRoute::m_pStation 自己解释.
如果不是,那是什么?
#11
CRoute对话框类用来绘制一个平面火车站点图。在View视图中想通过扑捉用户的站点选择,来加载响应站点的信息。达到如果我在平面图上选择了北京站,则在view视图类中则对北京站做一些处理
#12
报错了,提示no overloaded function takes 6 parameters
#13
贴代码
#14
非常感谢,已经完成了,是我我看错了