gpt4 book ai didi

c++ - 在 Unix/Linux (Ubuntu) 中编译头文件和两个 .cpp 文件

转载 作者:太空宇宙 更新时间:2023-11-04 05:53:06 25 4
gpt4 key购买 nike

我正在尝试编译总共 3 个文件,但无法完成。该代码在 Visual++ 中运行。我已将所有 3 个文件上传到同一目录中并使用以下命令。

g++ -o edit Album.cpp lab8.cpp

下面列出了我的文件名专辑.cpp专辑.hLab8.cpp

请注意,代码是在 Visual Studio C++ 中编写的,并且在那里编译得很好。

结果如下

lab8.cpp:在函数‘std::vector read_album_file(std::string)’中:lab8.cpp:142:25:错误:没有匹配的函数可用于调用“std::basic_ifstream::basic_ifstream(std::string&)” ifstream read(filename);//ifstream用于从文件中读取 ^lab8.cpp:142:25:注意:候选人是:在 lab8.cpp:38:0 包含的文件中:/usr/include/c++/4.8/fstream:467:7:注意:std::basic_ifstream<_CharT, _Traits>::basic_ifstream(const char*, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits; std::ios_base::openmode = std::_Ios_Openmode] basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in) ^/usr/include/c++/4.8/fstream:467:7:注意:参数 1 没有从“std::string {aka std::basic_string}”到“const char*”的已知转换/usr/include/c++/4.8/fstream:453:7:注意:std::basic_ifstream<_CharT, _Traits>::basic_ifstream() [with _CharT = char; _Traits = std::char_traits] basic_ifstream() : __istream_type(), _M_filebuf() ^/usr/include/c++/4.8/fstream:453:7: 注意:候选者需要 0 个参数,提供 1 个参数/usr/include/c++/4.8/fstream:427:11: 注意:std::basic_ifstream::basic_ifstream(const std::basic_ifstream&) basic_ifstream 类:公共(public) basic_istream<_CharT, _Traits> ^/usr/include/c++/4.8/fstream:427:11:注意:参数 1 没有从“std::string {aka std::basic_string}”到“const std::basic_ifstream&”的已知转换

最佳答案

查看ifstream的构造函数原型(prototype)。需要 const char *和一个可选参数,所以你需要写 filename.c_str()

关于c++ - 在 Unix/Linux (Ubuntu) 中编译头文件和两个 .cpp 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26332414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com