VS2010 error C299: “Font”:“struct”类型重定义
在VS2010里添加了在VC6.0里形成的OFFICE庫文件的類 excel9.h,excel9.cpp,就是我在VC6里做操作OFFICE的表格時候添加的庫文件,然后把它們( excel9.h,excel9.cpp)加載VS2010里,然后就報很多的錯誤。下面的錯誤只是一部分:
錯誤 1 error C299: “Font”: “struct”類型重定義?
錯誤 2 error C211: “Picture”: “struct”類型重定義
?
摸索了半天,總算解決了,原因如下:在VS2010 的comdef.h文件中有這么兩句:
struct Font : IFontDisp {};
struct Picture : IPictureDisp {};
結果導致老是出現你所說的沖突,但是VC6下就沒問題,原因是VC6的comdef.h文件中沒有上面的這兩句定義。
解決方法是為excel9添加namespace :
將excel9.h 文件中的定義的class{}全部放到 namespace excel9{ } 中;
將excel9.cpp 文件中 #ifdef...#define...的后面內容,放到 namespace excel9 {}中。
在#include "excel9.h" 時加上 using namespace excel9;
總結
以上是生活随笔為你收集整理的VS2010 error C299: “Font”:“struct”类型重定义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第五六七章(PTA复习)
- 下一篇: 自学C语言能到达怎样的高度?