gcc 4.2.2中的编译错误。但可以在Xcode 6.4中使用

运营办公室

我的所有函数调用都收到此错误消息,并且它在头文件中的初始化如下

void Initialisation(std::fstream &file, std::string name);
void Input(std::fstream &file, std::string name);
void Print(std::fstream &file, std::string name);
void Update(std::fstream &file, std::string name);
void Insert(std::fstream &file, std::string name);
void Delete(std::fstream &file, std::string name);

并像这样在主文件中调用

Initialisation(dataFile, "hardware.dat");

hardware.cpp: In function 'void Initialisation(std::fstream&, std::string)': hardware.cpp:13: error: no matching function for call to 'std::basic_fstream<char, std::char_traits<char> >::open(std::string&, std::_Ios_Openmode)' /packages/gcc/4.2.2/lib/gcc/sparc-sun-solaris2.10/4.2.2/../../../../include/c++/4.2.2/fstream:778: note: candidates are: void std::basic_fstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]

马特·彼得森(Mats Petersson)

使用std::string作为参数传递给在C ++ 11,引入了文件操作仅根据GCC 4.7左右完全支持(这个特殊的功能很可能是在旧版本的gcc可用(因为“由compler提供的新功能/运行时通常是(一次)引入),但4.2.2是对4.2.0的错误修复,该版本于2007年发布,因此至今已有8年的历史了。

编辑:据我所知,XCode 6.4使用Clang 3.6版本,该版本应具有完整的C ++ 11支持。结束编辑。

Edit2:您可以-std=c++03在XCode编译器上使用额外的选项,以确保在XCode中编译的代码也可以在gcc 4.2.2编译器中编译。结束编辑2

当然,如果您不需要任何其他C ++ 11功能,则可以替换x.open(name)x.open(name.c_str())

但是,我将与负责您学校选择编译器的人进行聊天,并询问是否故意使用过时的编译器...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

类模板继承无法在GCC中编译,但可以在Visual Studio中使用

Bootstrap 4和Rails 6:$(...)。modal不是“ .js.erb”文件中的函数(但可以在其他.js文件中使用吗?)

在角度2/4中使用UMD库

如何在角度2中使用引导程序4?

在WebGL2中使用mat4属性

在Angularjs 2 rc4中使用FormBuilder

_root.scss中的Boostrap 4 beta2 SASS编译错误

在gcc 4.7中使用std :: bind编译错误

即使使用-gdwarf-2,GCC 4.8也会在编译单元标头中插入版本4

是否可以在.NET 4中使用C#6或更高版本?

在Rails 4中导出Excel,无法在Microsoft Excel中打开,但可以在Libre Office中使用

在Angular 4中使用Bootstrap 4

Bootstrap 6-4-2-1列

使用log4j2在Tomcat 6中记录服务器类

如何在angular6中使用Amcharts4?

如何在Webpack 4中使用ES6导入/导出?

gcc版本4与5和6之间的区别

与GCC 4 vs. 6相比ifstream的“小于”

Android内核编译错误gcc6 linaro 6

为什么在Turbo C编译器中sizeof(int)是2个字节,而在gcc Linux编译器中是4个字节?

MVC 4中的编译错误

推送通知无法在iOS7中使用,但可以在iOS6中使用

如何在urllib2中使用SOCKS 4/5代理?

在Angular 2/4中使用打字稿动态创建HTML元素数组

如何在Angle 4中使用renderer2动态附加子元素

如何按类别筛选项目,在Angular 2或4中使用queryParams

在Log4J 2配置中如何在查询中使用多个替换?可能吗?

如何在angular 4中使用* ngFor创建每行2列的表

如何在Angular 2/4中的不同Json数组中使用相同的模型名称