在MFC(C++)中定义了一个全局结构体,在其他函数中用这个结构体,编译调试没错,运行却不行,这是为什么? 急!求用C++编写一个使用结构体数组实现添加,删除,修改,查...

C++MFC\u7ed3\u6784\u4f53\u4e2d\u4f7f\u7528BOOL\u53d8\u91cf

\u4e00\u4e2a\u662f\u5168\u5c40\u7684bool\u53d8\u91cf\uff0c\u53e6\u4e00\u4e2a\u662f\u7ed3\u6784\u4f53\u91cc\u7684\u53d8\u91cf\uff0c\u5168\u5c40\u53d8\u91cf\u76f4\u63a5\u7528\u5c31\u597d\u4e86

\u76f4\u63a5\u7528MFC \u7684 CArray\u5c31\u53ef\u4ee5\u4e86
\u5b9e\u4f8b\u4f2a\u4ee3\u7801\uff1a
Class MyPoint \u6216 struct MyPoint
{
XY\u5750\u6807\uff1b
\u70b9\u7684ID\uff1b
\u70b9\u7684NAME\uff1a
}

\u5b9a\u4e49\u6570\u7ec4
CArray m_arrMyPoint;
\u9700\u8981\u52a8\u6001\u6dfb\u52a0\u65f6
MyPoint point;
point.XY\u5750\u6807 = \u67d0\u503c\uff1b
point.\u70b9\u7684ID = \u67d0\u503c\uff1b
point.\u70b9\u7684name = \u67d0\u503c\uff1b

\u6dfb\u52a0:
m_arrMyPoint.Add(point);
m_arrMyPoint.InsertAt(\u4f4d\u7f6e\uff0cpoint);

\u5220\u9664\uff1a
m_arrMyPoint.RemoveAt(\u4f4d\u7f6e\uff0c\u5220\u9664\u6570\u91cf);

\u4fee\u6539\uff1a
MyPoint newPoint;
m_arrMyPoint.SetAt(\u4f4d\u7f6e\uff0cnewPoint)\uff1b
\u6216\u76f4\u63a5\u8d4b\u503c\uff1a
m_arrMypoint.GetAt(\u4f4d\u7f6e).\u67d0\u503c = \u65b0\u503c\uff1b

\u67e5\u8be2\uff1a
\u8fd9\u4e2a\u6ca1\u6709\u73b0\u6210\u529f\u80fd\uff0c\u81ea\u5df1\u5199\u4e2a\u6761\u4ef6\u904d\u5386\u5427
for(int i=0; i<m_arrMyPoint.GetSize(); i++)
{
if(m_arrMyPoint.GetAt(i).\u67d0\u503c == \u67d0\u6761\u4ef6)
{
\u5904\u7406\u4ee3\u7801\u3002\u3002\u3002
}
}

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

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

关于这个问题,步聚如下:
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++还可以用类,请笑纳!

发代码看看啊

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

  • 鍦∕FC(C++)涓畾涔変簡涓涓鍏ㄥ眬缁撴瀯浣,鍦ㄥ叾浠栧嚱鏁颁腑鐢ㄨ繖涓粨鏋勪綋,缂栬瘧璋 ...
    绛旓細extern song aa[5]杩欎釜鏀鹃敊浜嗕綅瀛愶紝鍦╟ourse.h澶存枃浠堕噷鍙渶瑕佸0鏄庣粨鏋勪綋鍗冲彲锛屽湪course.cpp涓畾涔锛岃繖鏍涓涓瀹屾暣鐨勭粨鏋勪綋灏辨垚鍔熶簡銆備綘鐨勬兂娉曞簲璇ユ槸鎯鍦course.cpp浠ュ鐨勬枃浠朵腑璋冪敤缁撴瀯浣搒ong锛岃繖涓椂鍊欏湪浣犻渶瑕佽皟鐢 song aa[5]鐨勬枃浠朵腑澹版槑extern song aa[5]鍗冲彲銆傚綋鐒跺垏璁伴渶瑕佸皢course.h鍖呭惈杩涙潵銆...
  • 璇烽棶澶уmfc涓畾涔変竴涓狢String绫诲瀷鐨勫彉閲忔庝箞瀹氫箟
    绛旓細CString str;鎻愰啋涓涓嬶紝璇ョ被鍨嬫槸涓涓绫伙紝涓嶈兘鍍忔櫘閫氬瓧绗︿覆閭f牱浣跨敤銆傚吀鍨嬬敤渚嬶細CRecordset.GetFieldValue(CRecordset::ForwardOnly,CString);
  • MFC涓畾涔変竴涓鍏ㄥ眬缁撴瀯浣,鎴戞湁涓や釜.CPP瑕佺敤鍒拌繖涓粨鏋勪綋,鎬庝箞閬垮厤閲 ...
    绛旓細瀹氫箟鏀惧埌cpp閲岄潰锛岀劧鍚庡湪.h閲岄潰extern灏卞彲浠ヤ簡銆
  • C涓畾涔変簡涓涓鍏ㄥ眬鍙橀噺鍦涓涓ā鍧椾腑浣跨敤浜嗗艰鏇存敼,涓嬫璋冪敤杩欎釜鍏ㄥ眬鍙 ...
    绛旓細鍏ㄥ眬鍙橀噺鐨勪綔鐢ㄥ氨鏄湪鏁翠釜绋嬪簭閲岄潰閮芥槸瀹冪殑浣滅敤鍩熺殑銆傞偅灏辨槸璇翠綘鍦ㄤ换浣曞湴鏂归兘鍙互寮曠敤鎴栬呰浣跨敤杩欎釜鍙橀噺鐨勩傛棦鐒朵綘鍦ㄦā鍧楅噷闈㈡洿鏀逛簡锛岄偅浣犲湪鍏朵粬鍦版柟浣跨敤杩欎釜鍏ㄥ眬鍙橀噺鐨勬椂鍊欙紝灏辨槸鏇存敼杩囧悗鐨勫肩殑銆傘
  • 鍦╩fc涓濡備綍瀹氫箟涓涓鎸囬拡绫诲瀷鐨勫彉閲?
    绛旓細瀵圭紪璇戝櫒鏉ヨ锛屼袱绉嶆柟娉曢兘鏄纭殑锛屼絾鏄寜浣犵殑璇存硶 鍙橀噺绫诲瀷搴旇鏄 FILE* 锛涘彉閲忓悕鏄痜liein銆俧liein鏄涓涓FLIE鎸囬拡绫诲瀷鐨勫彉閲
  • MFC涓鍦╒iew绫涓畾涔変竴涓缁撴瀯浣揈dge,鍦ㄧ被閲屽缓绔嬩簡涓浜涘嚱鏁拌皟鐢‥dge...
    绛旓細涓嶅嚭閿欐墠鎬憿锛屼綘鍦╟pp鏂囦欢瀹氫箟鐨勭粨鏋勪綋锛屽湪.h澶存枃浠朵腑浣跨敤锛屾湁杩欎釜閬撶悊涔堬紵锛燂紵浣犳妸缁撴瀯浣撶殑澹版槑鏀惧埌CBasic2DView.h涓
  • 鍦∕FC鏂板缓浜嗕竴涓鍩轰簬瀵硅瘽妗嗙殑绋嬪簭,鎬庝箞娣诲姞涓涓寜閽,鐒跺悗鐐硅繖涓寜閽璇...
    绛旓細娑堟伅鍑芥暟涓嶇敤鑷繁鍐欙紝鍦ㄥ璇濇璧勬簮涓婃坊鍔涓涓鎸夐挳锛屽彸閿偣鍑绘寜閽紝鍦ㄥ脊鍑鸿彍鍗曚腑閫夋嫨Events椤癸紝涔嬪悗浼氬脊鍑轰竴涓坊鍔犳秷鎭嚱鏁扮殑绐楀彛锛岄夋嫨BN_CLICKED浜嬩欢锛岀劧鍚庣偣鍑烩淎dd and Edit鈥濇寜閽紝涔嬪悗VC浼氳嚜鍔ㄧ敓鎴愭寜閽殑娑堟伅鍑芥暟骞惰嚜鍔ㄨ浆鍒扮紪杈戞秷鎭嚱鏁扮晫闈紝姝ゆ椂浣犲彧瑕佸湪娑堟伅鍑芥暟閲屽姞涓婅鍙ワ細CDialog::OnOK();鍗冲彲 ...
  • 鍏充簬鍦∕FC涓澹版槑鍜瀹氫箟涓涓鍑芥暟鐨勯棶棰
    绛旓細鍥炵瓟锛(1)鍑洪敊浼拌鏄綘瀹氫箟鍑芥暟瀹炰綋鐨勪綅缃槸鍦ㄧ被瀹氫箟澶栭儴杩涜鐨,涔﹀啓鏍煎紡閿欒: struct CListexampleDlg::Node* CreateList(CListexampleDlg::Node* L){...} 鏄敊璇殑 搴旇涓: struct CListexampleDlg::Node* CListexampleDlg::CreateList(CListexampleDlg::Node* L){...} (2)浣犳棦鐒瀹氫箟浜鏂..
  • 鍦∕FC涓濡備綍瀹氫箟鍏ㄥ眬鍙橀噺,濡備綍寮曠敤瀹?
    绛旓細涓銆佸湪搴旂敤绋嬪簭绫涓畾涔 鐢MFC鐢熸垚鐨勫伐绋嬩腑閮鏈変竴涓鍚嶄负CxxxApp鐨勭被锛屽畠娲剧敓浜嶤WinApp绫汇傝繖涓被涓昏杩涜绋嬪簭鐨勫垵濮嬪寲锛岀敓鎴愭枃妗c佽鍥惧璞$瓑宸ヤ綔銆傛垜浠彲浠ユ妸闇瑕佸叏灞璁块棶鐨勫彉閲忓拰鍑芥暟瀹氫箟涓鸿繖涓被鐨勬垚鍛樺彉閲忓拰鎴愬憳鍑芥暟锛屽氨鍙互瀹炵幇鍏ㄥ眬璁块棶浜嗐備粠涓ユ牸鎰忎箟涓婅锛岃繖绉嶅彉閲忓拰鍑芥暟骞朵笉鏄叏灞鐨勶紝鍥犱负瀹冧粛鐒...
  • 鍦∕FC涓濡備綍鍒涘缓涓涓鍑芥暟
    绛旓細锛1锛夌獥鍙e垱寤哄嚱鏁 杩欓噷涓昏璁ㄨ鍑芥暟Create鍜孋reateEx銆傚畠浠皝瑁呬簡Win32绐楀彛鍒涘缓鍑芥暟::CreateWindowEx銆侰reate鐨勫師鍨嬪涓嬶細BOOL CWnd::Create(LPCTSTR lpszClassName,LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect,CWnd* pParentWnd, UINT nID,CCreateContext* pContext)Create鏄涓涓铏氭嫙鍑芥暟锛岀敤...
  • 扩展阅读:mfc官方网站 ... 编程c++学了有什么用 ... c++编程 ... c十十编程要学多久 ... 初中生学c++有什么好处 ... c++和python先学哪个 ... c++编程考级一共几级 ... mfc气体流量控制器 ... c++和java哪个好就业 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网