在MFC(C++)中定义了一个全局结构体,在其他函数中用这个结构体,编译调试没错,运行却不行,这是为什么?

2025-01-05 15:13:13
推荐回答(5个)
回答1:

extern song aa[5]这个放错了位子,在course.h头文件里只需要声明结构体即可,
在course.cpp中定义,这样一个完整的结构体就成功了。
你的想法应该是想在course.cpp以外的文件中调用结构体song,这个时候在你需要调用
song aa[5]的文件中声明extern song aa[5]即可。
当然切记需要将course.h包含进来。希望能帮到你...

回答2:

这肯定不是结构体的原因! 估计是你操作结构体的代码写的有问题…… 好好检查

回答3:

关于这个问题,步聚如下:
1、在头文件中定义结构体
typedef struct song
{
char name[10];
char number[20];
}SONG;
2、在源文件开头定义一个结构体对象并初始化
SONG aa[5] = {"songxin", "12356"};
3、调用
CString ss;
ss = aa[0].name;
AfxMessageBox(ss);
以上只是一个小小的测试,结构体在C里是很有用的,当然C++还可以用类,请笑纳!

回答4:

发代码看看啊

回答5:

初始化时用到了其他的全局数据?