Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# clr:oldSyntax阻止流的传播 我有一个相当旧的非托管C++程序,叫做托管C代码VS2003,我需要转换。最初的c代码是用.NET1.1编写的,需要重新编译,它被编译成4.0,而最终我需要重新编写整个代码,我希望让原始代码运行更长一点_C#_C++_Visual Studio 2010 - Fatal编程技术网

C# clr:oldSyntax阻止流的传播 我有一个相当旧的非托管C++程序,叫做托管C代码VS2003,我需要转换。最初的c代码是用.NET1.1编写的,需要重新编译,它被编译成4.0,而最终我需要重新编写整个代码,我希望让原始代码运行更长一点

C# clr:oldSyntax阻止流的传播 我有一个相当旧的非托管C++程序,叫做托管C代码VS2003,我需要转换。最初的c代码是用.NET1.1编写的,需要重新编译,它被编译成4.0,而最终我需要重新编写整个代码,我希望让原始代码运行更长一点,c#,c++,visual-studio-2010,C#,C++,Visual Studio 2010,我已经将我看到的问题归结到这个测试用例中: 使用VS2010我创建了一个新项目:Visual C++ + MFC应用程序< /P> 然后,我使用向导创建了一个基于对话框的应用程序,其中包含所有默认设置。 在app类中包含以下标题后 #include <fstream> 当应用程序运行时,对话框将在调试和发布模式下创建一个新文件 但是,当我试图通过将项目属性| general | common runtime Support标志更改为common runtime Support,ol

我已经将我看到的问题归结到这个测试用例中:

使用VS2010我创建了一个新项目:Visual C++ + MFC应用程序< /P> 然后,我使用向导创建了一个基于对话框的应用程序,其中包含所有默认设置。 在app类中包含以下标题后

#include <fstream>
当应用程序运行时,对话框将在调试和发布模式下创建一个新文件

但是,当我试图通过将项目属性| general | common runtime Support标志更改为common runtime Support,old-syntax/clr:oldSyntax来启用c代码时,我得到以下错误。 在调试模式下,程序运行正常,并创建一个文件。 在释放模式下,程序执行该行时崩溃

ofstream xmlstream;
错误如下:

An unhandled exception of type 'System.AccessViolationException' occurred in Unknown Module. 其他信息:尝试读取或写入受保护内存。这通常表示其他内存已损坏

<> P>对该类程序的唯一其他引用建议设置C/C++代码生成的属性,使我已经完成的C++异常到/EHA。 我确实检查了对fstream.h的引用,而不是fstream。旧样式的标题在2010年不再存在,它们在2003年存在,但我正在使用新的标题。除非现在声明流对象的语法有问题,否则我不确定是什么问题


我是否需要设置另一个开关来正确编译此文件,或者我是否天生做了一些没有意义的事情?

如果我没有错,VS继续提供“遗留”iostreams库,即来自Dinkumware的预标准版本。我不确定VS2003是否还包括它,但了解微软,我不会感到惊讶

它可能仍然在使用,而不兼容新的C++标准库容器/abi。所以,我会检查要查找的头和名称空间使用

#include <iostream.h>
固定到

#include <iostream>
上面的链接对如何将任何旧式iostreams代码迁移到新样式提供了很好的指导,因此我将重复以下链接:


HTH

没有,我没想到会有。您正在追逐一个幽灵,这与堆损坏的标准情况非常相似。
#include <iostream>