C++ collect2.exe:错误:ld 在 vscode 中返回 1 个退出状态

问题描述

我正在使用 vscode 编写 c++,终端返回“collect2.exe:错误:ld 返回 1 个退出状态”

#include <iostream>
#include<algorithm>
using namespace std;
int n,m,a1,b1,t;
double dtmp=0,ttmp=0,tmin=10000000000,ans1=100000000000,ans2=0;
struct str
{
    double dis;
    double vel;
    int vis;
};
struct str arr[10005][10005]={};
int dfs(int num)
{
    if(num==b1)
    {
       ans1=min(dtmp,ans1);
       //cout<<dtmp<<" ";
       if(ttmp<tmin) 
    {
        ans2=dtmp;
        tmin=ttmp;
    }
    return 0;
}
    for(int i=1;i<=n;i++)
    {
        if(!arr[num][i].vis)
        {
           dtmp+=arr[num][i].dis;
            arr[num][i].vis=arr[i][num].vis=1;
            ttmp+=arr[num][i].dis/arr[num][i].vel;
            //cout<<i<<endl;
            dfs(i);
            dtmp-=arr[num][i].dis;
            arr[num][i].vis=arr[i][num].vis=0;
            ttmp-=arr[num][i].dis/arr[num][i].vel;
        }
    }
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    cin>>t;
    while(t--)
    {
        cin>>n>>m;
        cin>>a1>>b1;
        while(m--)
        {
            int a,b,d,v;
            cin>>a>>b>>d>>v;
            arr[a][b].dis=arr[b][a].dis=d;
            arr[a][b].vel=arr[b][a].vel=v;
        }
        dfs(a1);
        cout<<(long long)ans1<<" "<<(long long)ans2<<endl;
    }
}

如果我在同一个文件中编写一些像“hello c++”这样简单的代码,它就可以正常工作。
我之前用 dfs 函数编码过文件,没有任何错误
所以我想这个特定的代码可能有问题,请有人指出。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)