hur.cn - 华软网

 热门搜索

vs2003中无法打开包含文件:fstream.h

  作者:未知    来源:网络    更新时间:2011/5/1
引用了vc6.0下的代码#include "fstream.h"

在vs2003中改为
#include <fstream>
using   namespace   std;

下面代码就报错了
// debug heap support header for Microsoft
#pragma once
#ifndef _XDEBUG_
#define _XDEBUG_
#include <yvals.h>

#pragma pack(push,8)
#pragma warning(push,3)

// SUPPORT FOR DEBUG HEAP

 #if !defined(_DEBUG)
  #define _NEW_CRT new
  #define _DELETE_CRT(_P) delete (_P)
  #define _DELETE_CRT_VEC(_P) delete[] (_P)
  #define _STRING_CRT string

 #else /* !defined(_DEBUG) */
  #include <xmemory>
  #include <xstring>

_STD_BEGIN
struct _DebugHeapTag_t
{ // placement new tag type to select debug CRT heap
int _Type;
};
_STD_END

_CRTIMP2 void * __cdecl operator new(size_t,             ////报错的地方
const std::_DebugHeapTag_t&, char *, int)
_THROW1(std::bad_alloc); // allocate from the debug CRT heap

_CRTIMP2 void * __cdecl operator new[](size_t,
const std::_DebugHeapTag_t&, char *, int)
_THROW1(std::bad_alloc); // allocate array from the debug CRT heap

_CRTIMP2 void __cdecl operator delete(void *,
const std::_DebugHeapTag_t&, char *, int)
_THROW0(); // delete if new for debug CRT heap fails

_CRTIMP2 void __cdecl operator delete[](void *,
const std::_DebugHeapTag_t&, char *, int)
_THROW0(); // delete if array new for debug CRT heap fails


c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xdebug(29): warning C4229: 使用了记时错误 : 忽略数据上的修饰符
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xdebug(29): error C2365: “new” : 重定义;以前的定义是“成员函数”
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xdebug(29): error C2491: “new” : 不允许 dllimport 数据 的定义
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xdebug(29): error C2078: 初始值设定项太多



哪位大侠帮帮忙,给我看看,非常感激
---华软 网友回答---
改用<fstream> 即可
#include <fstream>

---华软网友回复---
引用 1 楼 yjj0471 的回复:
改用<fstream> 即可
#include <fstream>


不对
---华软网友回复---
没人帮忙看看吗
---华软网友回复---
vs2003 的版本是否比 vc6.0低?

---华软网友回复---
自己解决了,加了msvcirtd.lib
---华软网友回复---
  class="deleted_message"> 该回复于2011-05-05 13:49:44被版主删除
---华软网友回复---
我遇到过类似的问题,分析多个头文件包含关系,逐个注释和保留#include语句发现,#include <string.h>,与#include <string> 并不是对等关系,处于包含关系链内的两个头文件必须统一成一种,就可以了。
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。