【问题标题】:Issue in convert project from vc6 to vc9将项目从 vc6 转换为 vc9 的问题
【发布时间】:2012-06-26 11:47:37
【问题描述】:

我有一个用vc6构建的项目,现在我必须将它转换成vc9。

代码中有一行

CMapStringToOb  cLogPathMap;
ofstream        tlogFile;

但是当我构建项目时出现以下错误。

错误 C2146:语法错误:缺少 ';'在标识符“tlogFile”之前

错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int

当我转到 ofstream 的定义时,打开文件 iosfwd,其中 ofstream 定义为

typedef basic_ofstream<char, char_traits<char> > ofstream;

【问题讨论】:

  • 所以您将#include 从iostream.h 更改为iostream?然后还要修复命名空间,就是std::ofstream

标签: visual-c++ compiler-errors visual-c++-6 visual-c++-2008


【解决方案1】:

以下 microsoft 建议包含 fstream: http://msdn.microsoft.com/en-us/library/e9cabcax%28v=vs.90%29.aspx

所以在你的头文件中添加以下行包含该 c++ 文件:

#include <fstream>

【讨论】:

  • @vikky:请注意,在 VC6 中,文件名是 fstream.h。现在它只需要fstream,根据 C++ 标准(在 VC6 制作时还没有准备好)。
  • 如何添加 using namespace std;在您包含之后。
  • 报错信息基本是说ofstream没有定义。
  • 我不确定你编辑了什么。你添加了 using namespace std;像下面的例子cplusplus.com/reference/iostream/ostream/tellp 或改变第二行读取std::ofstream tlogFile;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
  • 2011-10-23
  • 2011-05-27
  • 2014-09-22
  • 2011-12-11
  • 1970-01-01
相关资源
最近更新 更多