Dev C++报错: [Error] ld returned 1 exit status

用C++写了个01背包的程序,但是总是报错:
[Error] ld returned 1 exit status
上面还有一大堆看不懂的东西,如图所示:

img


请问一下有人知道这是什么问题吗?
我的代码为:

#include<iostream>
#include<algorithm>

using namespace std;
const int MAXN=105;
const int MAXM=1e9+5;
int n,m;
int w[MAXN],c[MAXN],f[MAXM];
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>w[i]>>c[i];
    }
    for(int i=1;i<=n;i++){
        for(int j=m;j>=w[i];j--){
            f[j]=max(f[j],f[j-w[i]]+c[i]);
        }
    }
    cout<<f[m];
    return 0;
}

检查了一下,原来运行的窗口关了,360关了,函数名没错,没有数组越界,没有语法错误。

根据您提供的代码,并没有明显的语法错误。由于没有具体的错误提示信息,我将给出一些可能导致错误的原因和解决方法:

  1. 编译器错误:关闭窗口或杀死进程可能导致编译器错误。尝试重新打开Dev C++,并重新编译程序。确保使用的是合适的编译器版本。

  2. 编译器配置问题:有时候,编译器的配置可能出现问题导致编译失败。可以尝试重置编译器的设置,或者换用其他编译器。

  3. 编译器选项:请确保在编译选项中设置了正确的标准(例如C++11、C++14、C++17等)。这通常可以在编译器的设置或选项中进行更改。

  4. 检查输入:确保输入的n和m的值符合预期的范围,并且输入的w和c数组的值也没有超出范围。

  5. 确保数组足够大:根据您的代码,f数组的大小是MAXM(即1e9+5),请确保MAXM的值足够大以容纳结果。

如果上述方法无法解决问题,请提供更详细的错误信息,以便我可以给出更准确的帮助。

你把 MAXM 改小一点就好咯

可参考 https://blog.csdn.net/luyibing2017/article/details/124086221

【以下回答由 GPT 生成】

这个问题是由于Dev C++编译器无法找到链接库造成的。你可以尝试以下几个解决方案:

  1. 更新Dev C++:重新安装或更新Dev C++到最新版本,有时候旧版本可能存在一些问题。

  2. 检查编译器设置:打开Dev C++,点击菜单栏的"Tools" -> "Compiler Options",在"Directories"选项卡下,确保所有的库目录都正确引用。

  3. 检查环境变量:确保系统的环境变量配置正确。在开始菜单中搜索"环境变量",打开"编辑系统环境变量",在"系统变量"中找到名为"Path"的变量,确认其中包含了Dev C++的安装路径。

  4. 使用其他编译器:如果以上方法都无效,可以考虑使用其他编译器,比如MinGW或Visual Studio等。

如果以上方法都无效,那可能是代码本身存在问题,或者是其他未知的原因导致。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^