我定义了一个类,在这个类中我声明了一个结构。当我在dialog中加入这个类后调用这个结构是,程序认为这个结构不是类或结构。但是当我在document/view中用同样方法调用时却正常通过。
这是为什么?怎样解决?
定义情况如下:
typedef struct
{
.............
}a, *point;
............
在dialog中初始化:
a b[] =
{
{...............},
..................
};
这是为什么?怎样解决?
定义情况如下:
typedef struct
{
.............
}a, *point;
............
在dialog中初始化:
a b[] =
{
{...............},
..................
};
解决方案 »
- 俄罗斯方块
- 发帖求援:如何运用最小二乘估计算法求解二维图像的变换参数
- 在用property sheet做的选项卡中如何在选项卡头加入icon
- 为何包含了<winuser.h>和<windows.h>还是无法声明KBDLLHOOKSTRUCT结构(关于low level Keyboard hook)?谢谢!
- ::DrawDibDraw函数的问题
- 菜鸟问题,如何根据域名得到该服务器的IP地址,知道IP地址又如何得到该机的域名
- 编译连接时产生的错误,帮忙看一下!怎么解决给点意见先!
- 怎样重画VC里的一些控件?
- 看完<<深入浅出mfc>>,接下来看那本书比较好.
- 急???
- VC++,C++ builder的问题
- 想把用VB编写的COM用VC重新改编一次,不知是否有捷径可走?
而且在该类中定义的别的用的很正常。
难道除了这还要包含什么吗?
我是在初始化对话框中调用的,在...Dlg.cpp中初始化这个struct的。
除了包含自定义类的头文件外,就是系统自己自动给出的h文件了
{
.............
}a, *point;
};若真是这样,在DLG中的定义如下:A::a b[] =
{
......
}
由于我的这个结构是定义在这个类的h文件的开头,因此它不属于这个类,只是这个类可以调用它,这个结构是作为一个单独的"类“出现在workspace上的
typedef struct mystruct
{
.....
}AAAclass myclass
{
public:
AAA m_str[10];
...
}
...然后在你的Dlg.cpp文件里包含上面这个头文件,在InitialDialog里面就可以这样初始化这个struct数组:
myclass* m_myclass=new myclass;
m_myclass->m_str[0].???=???
...
而且关键是同样的做法在view里正确,dialog里却报错没用
class AAA
{
public:
AAA m_str[];
............
}
这种做法是直接在文件开头就初始化的,新定义结构名