使用VC++,MFC,CTR+w類向導添加msword.olb之后(所有的類均匯入了),
一直提示
: error C2011: 'Fields' : 'struct' type redefinition
:error C2011: 'Field' : 'struct' type redefinition
....
我的MFC名字為mfc_word ,呼叫word的對話框所在類為DialogReport。
我按照網上的呼叫word步驟,做了一個簡單的小程式,沒有錯誤。。。但是,同步搬到自己的MFC中,一直提示錯誤。。。。。
請問:
1、如何解決,無論將msword.h添加到mfc_worddlg.h 或者DialogReport.h,均有此問題,請問如何解決??
搜索重新定義問題,給出的建議是#ifndef,但是又用不好
2、這個問題,是不是跟我的DialogReport.cpp的#include ".h"有關系,該咋弄?
謝謝
uj5u.com熱心網友回復:
word匯出類的頭檔案 #pragma once 加這句uj5u.com熱心網友回復:
這個錯誤提示的后面不是應該提示,某某檔案定義了***,然后某某檔案又定義了***嗎,看看都是哪里定義了,然后再分析分析看問題在哪。uj5u.com熱心網友回復:
直接在msword. h中加入了#pragma沒用啊。我類向導,添加msword所有類,就開始一直報錯。各種重復定義。。。
uj5u.com熱心網友回復:
都是word類里面自己定義的,我沒加代碼啊
uj5u.com熱心網友回復:
按帖子的操作步驟,做了一個測驗用的MFC,添加msword.olb所有類、代碼等,實作了對話框對word的調出、word中制表格。問題是,按照這個步驟,把msword中所有類加入自己涉及的軟體中,就出現問題了,(從類向導添加完msword.olb所有檔案后,就一直提示msword.h(3534) : error C2011: 'Fields' : 'struct' type redefinition之類的重復定義問題)
請問:1、該如何解決?
2、看了一下,所有的.h都有類似
#if !defined(AFX_INFOPERFECT_H__4748C2CA_DD73_49F2_A483_83F9F4E2279B__INCLUDED_)
#define AFX_INFOPERFECT_H__4748C2CA_DD73_49F2_A483_83F9F4E2279B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// InfoPerfect.h : header file
之類的代碼,而只有msword.h沒有,是否需要在msword.h前面也加入這些,或者改動一些內容?謝謝
uj5u.com熱心網友回復:
3534行重復定義了Fields,洗掉這個。uj5u.com熱心網友回復:
4534行重復定義了Fields洗掉這個轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/8952.html
標籤:基礎類
上一篇:tif檔案為什么只能保存4G
